0
COMPUTE
NOVEMBER 1991
INSIDE QUATTRO PRO 3.0
KIDZ MOUSE ¢ POLICE QUEST Ill
U.S. $2.95
1
|
11486
1
|
|
02
3
|
|
3
need for easy communications with PCs,
mainframes, and all types of on-line services
and bulletin boards. It even negotiates the best
connection automatically.
To get you up and running right out of the
; box, every OPTIMA 96 modem comes complete
Wouldnt it be nice to have a modem that ran with Hayes Smartcom EZ communications
faster yet didnt cost an arm and a leg? software. Plus special offer coupons good for
That's precisely what the new V32 OPTIMA™96 software upgrades and on-line connections.
is all about. , All of this for a remarkably low price.
It delivers 9600 bps connections and up to Anything else on your mind? If so, please call
38,400 bps throughput. It features V42 error- us at 1-800-635-1225 for our fully detailed
control, V42bis data compression, and it com- OPTIMA 96 brochure.
patible with MNP levels 2 through 5. MR TeRinolny hae he coniciten 3) 4
The OPTIMA 96 has all of the features you world ‘altna More than ever CJ Haye
Introducing the modem
that knows where your head is at.
gine
ms
s
s
3
s
oat
© 1991 Hayes Microcomputer Prod
64/128 VIEW
Most software works as
advertised, but some programs do their
jobs with elegance.
Tom Netsel
ecently, Larry Cotton,
in his “Beginner BA-
SIC” column, offered a
two-part series on mak-
ing programs user-friendly.
He discussed ways pro-
grams could be designed
so computer novices could
enter data without crashing
the program, entering inva-
lid characters, or becoming
confused. That's quite a pro-
gramming challenge.
It reminded me of a pro-
gram that was the basis of a
computer course | took in col-
lege in 1985. The course
used a newly released inte-
grated PC program that con-
tained a word processor,
spreadsheet, and database
management system.
The program wasn't bad.
It was reasonably priced,
the word processor was
great, and | still use the
spreadsheet. The database,
however, was something
else entirely. Does the term
user-hostile ring a bell?
Let's say you have a data-
base called PEOPLE that
consists of a list of friends
and relatives and their ages.
You also have a field called
Holiday. This field has a Yin
it if you send the person a
card on holidays and an Nif
you don't send one.
Now, let's say you want to
find all the people on your
list who get cards and who
are older than 20 years old.
With this program, you had
to go into Edit mode and en-
ter PEOPLE,HOLIDAY="Y'
AND AGE>20,NAME.
Any BASIC programmer
can see the logic behind
this command, but you had
to know the syntax. You got
no prompts, and the punctua-
tion marks were tricky.
Now let's talk user-friend-
ly. In that same year Brader-
bund released Bank Street
Filer for the 64.
With its prompts, help
screens, and menus, this da-
tabase program is a snap to
use. To conduct a test, | cre-
ated a similar database on
my 64. | then requested a re-
port listing all the people
who got cards and who
were over 20 years old.
Filer walks you through
the process using prompts
that are in English. To pre-
pare a report, the program
starts Print every record
where and presents your
fields: Name, Holiday, Age.
| selected Holiday.
The program then asks
Is, Is Not, Is Before, Is After,
Starts With, Ends With, or
Contains? | selected Is. The
next prompt asks /s What? |
entered Y for Yes.
Filer then asks Stop, And,
or Or? Since | had more con-
ditions, | selected And. The
program then listed my
fields for further selection.
This time | selected Age,
which is a number.
The next prompt offers
these choices for numbers:
Is Equal To, Is Not Equal To,
Is Less Than, Is Greater
Than, Is Zero, Is Not Zero. |
selected Is Greater Than
and typed 20 at the prompt.
At the top of the screen,
my search equation was pre-
sented in English: Print eve-
ry record where the Holiday
field is Y and the Age field is
greater than 20. The pro-
gram then sorts and prints
the report in a variety of pos-
sible formats to screen,
disk, or printer. It's simple,
elegant, and friendly.
When anyone mentions a
user-friendly program, |
give Bank Street Filer a
plug. Too bad more program-
mers haven't copied it. O
GAZETTE
64/128 VIEW G-1
Why can't more programs be as user-friendly as
Bank Street Filer?
By Tom Netsel.
LASER PRINTING ON A BUDGET G-2
Here are some tips on printing GEOS documents
on a laser printer, even if you don’t own one.
By Carlos Amezaga.
REVIEWS G-8
The Untouchables, B.A.T.,
Metal Gear, and gateWay 64.
FEEDBACK
Questions, answers, and comments.
MACHINE LANGUAGE
Working with fixed point numerals in
machine language can be simple.
By Jim Butterfield.
GEOS
Even fans find geoWrite tough to love,
but here are some tips that can help.
By Steve Vander Ark.
D’IVERSIONS
Home movies are out; news is in!
By Fred D'lgnazio.
BEGINNER BASIC
Create havoc with random numbers.
By Larry Cotton.
PROGRAMMER’S PAGE
Old ROMs and rising flood waters.
By Randy Thompson.
PROGRAMS
Ramdrive 64
1-3-5-7
Sport Card Collector
File Copier
Puzzle Mania
G-20
G-22
G-23
G-24
G-25
G-28
G-31
G-35
G-38
NOVEMBER 1991 COMPUTE G-1
Here are some tips
on how to print GEOS documents
on a laser printer—
without owning a laser printer.
- LASER PRINTING
ON A
BUDGET
BY CARLOS AMEZAGA
Desktop publishing really took off when the laser printer ah : ;
This advance in printer technology took desktop - aw 8
publishing to new heights, and Macintosh, IBM, and anaes &
owners were quick to take full advantage
of it. But 64 and 128 owners haven't moved as fast. |
Many owners of 8-bit Commodores have been
slow to embrace laser technology because they are reluctant to
spend ten times the price of their computer for a
printer. What many of them don't know is that they can take
advantage. of laser printing without going to the »
expense of owning: a-laser printer. This article will explain how.
Setting Standards
To understand what laser printing is all about, you
must remember that when these printers first appeared onthe
market, they didn’t follow any standard. This led to the
development of a page description language called PostScript.
This language instruction set tells the laser printer how
your image should be printed, what it should look like, and
where it should be'on the paper. PostScript
soon became the standard for most laser printers.
Biers
— « NOVEMBER 1997 COMPUTE = G3
That was great, especially if you were
a Commodore GEOS user. When
GEOS first came out, Berkeley Soft-
works provided drivers and fonts so
you could buy a laser printer, connect
it to your 64, and print. Berkeley pub-
lished geoLaser and special fonts with
geoWrite. \t also released geoPubLas-
er and special fonts with geoPublish.
Lasers on a Budget
The technology and software are avail-
able for 8-bit Commodores, but
there's still one main hurdle blocking
the path to laser printing. That problem
is price. Laser printers are expensive,
and the typical 64 owner does not
have that kind of money to pay for a
printer. But even on a budget, there's
still a way to laser printouts.
The solution was provided by Jim Col-
lette, known as GeoRep Jim on Quan-
tumLink, the Commodore-specific on-
line service. Jim has contributed many
programs, both public domain and
shareware, as well as his own commer-
cial releases. One of his shareware re-
leases is called PS.Patch 2.0 and can
be found on Q-Link. Rather than being
a stand-alone program, this product is
a patch, a program that alters another
program. It modifies either geoLaser or
geoPubLaser so that instead of send-
ing the required PostScript information
to a laser printer, it prints the informa-
tion to a floppy disk.
Do Me a Favor?
With this information on disk, you no
longer need to own a laser printer. If
you have a friend who has a PC that's
hooked to a PostScript laser printer, all
you have to do is transfer the Post-
Script file from your Commodore disk
to an IBM-formatted disk. You can do
this with either Big Blue Reader, sold
commercially by SOGWAP Software, or
Xlink, which is 128-specific public do-
main software.
In order to read or write to an IBM-
formatted disk, however, you need a
1571 or 1581 disk drive. These are the
only two Commodore disk drives that
can accomplish such a task. If you
don't have either of these drives,
there's still a way around this problem.
If you have a modem, you can transfer
the Commodore file to any other
modem-equipped PC.
Check the Yellow Pages
If you're not fortunate enough to have
a friend with a laser printer, look in the
yellow pages under Desktop Publish-
ing or Printing. In my area there are
about four dozen publishers who have
IBM equipment at their shops. Some
even have a 24-hour bulletin board so
you can upload your PostScript file for
G-4 COMPUTE NOVEMBER 1991
printing. They do charge a reasonable
fee, but it all depends on the number
of pages you're printing out.
How to Do It
Now that you know it can be done, it's
time | told you how to create a Post-
Script file with GEOS. First, we want to
check a couple of applications to
make sure they are up-to-date. To do
this, select the following files from the
Desktop, and then select the INFO op-
tion from the FILE entry on the top
menu. Now make sure that geoPublish
and the two laser printing applications,
geoPubLaser and geoLaser, have the
following dates stamped in their info
boxes. Earlier versions have problems.
geoPublish 1.0 10/4/88
geoPubLaser 1.8 8/22/88
geoLaser 2.1 3/10/88
| haven't heard of any problems with
geoLaser and different dates, but ver-
sion 2.1 seems to be the most current.
Laser printers
are expensive, but
there’s still
a way 64 owners on
a budget can
get laser printouts.
If you don’t have this latest version
Of geoPublish, you can obtain the
most current version of this two-disk pro-
gram by sending in your disk to
Berkeley Softworks, now renamed
GeoWorks, and asking for the updated
geoPublish. You can obtain geoLaser
or geoPubLaser, the 11 laser fonts,
and the patch program PS.Patch 2.0
from Q-Link’s software libraries.
Once you obtain PS.Patch 2.0, put it
on the same disk as either geoLaser or
geoPubLaser. Execute the patch, and
you'll get a menu with the option to mod-
ify either of the laser drivers. Select the
laser driver you wish to modify, and fol-
low the prompts. Once Patch has fin-
ished running, you'll find a new version
of the selected driver on your disk.
Once you have these files patched,
all you have to do is load the proper la-
ser printing application. If you created
your document with geoWrite, then you
should use the patched version of
geoLaser. If you created your document
with geoPublish, then you must use the
patched version of geoPubLaser.
You can use any of the 11 laser
fonts within your document. By using
these fonts, you'll achieve print compa-
rable to that used in textbooks and mag-
azines. You can also use your regular
GEOS fonts, but they'll look jagged in
most cases. You can, however, have
your GEOS fonts and graphics
smoothed as an option to improve
their appearance when printed.
Convert to PostScript
Making the PostScript file takes a few
minutes. The longer your document is,
the longer it'll take to create the Post-
Script file. You'll also need plenty of
free disk space. PostScript files can be
very big, possibly taking up your entire
1571 disk or half your 1581 disk, de-
pending on how complex the docu-
ment is. Since PostScript is a struc-
tured language and has about 250
operators, geoLaser and geoPubLaser
have the task of creating another pro-
gram with this language that the laser
printer will understand.
Once you've created your PostScript
file and moved it to a PC or Macintosh
(which can read IBM disks) by either
disk or modem, it's time to print.
Dump this file directly to the printer. Do
not—I| repeat—do not load your file in-
to a word processor! The PostScript
file would be corrupted, and it proba-
bly wouldn't fit in memory anyway.
Boot a Terminal Program
If you're using an IBM or PC clone, use
a terminal program to send the Post-
Script file to the printer. This will estab-
lish a two-way communication channel
in case the laser printer encounters
any PostScript command errors. If
such errors occur, they'll be printed on
the terminal screen.
A terminal program such as
Proterm, Comterm, Procomm, or
Freeterm may be used on any IBM or
PC clone. Set your communication par-
ameters as follows: 9600 baud, 8 Bits,
1 Stop, No parity, Half-duplex, and Xon/
Xoff activated.
Do not under any circumstances
use either of the following commands
from DOS:
COPY A:filename LPT1
or
COPY A:filename COM1
This doesn’t establish a two-way envi-
ronment and is therefore undesirable.
Dump from a Mac
If you have access to a Macintosh that
can read IBM-formatted disks, you
WE CAN RECONFIGURE ANY OF OUR COMPUTER PACKAGES TO YOUR
SPECIFICATIONS. CALL FOR DETAILS!
WE INVITE CORPORATE & EDUCATIONAL CUSTOMERS - DISCOUNTS FOR
QUANTITY ORDERS - RUSH, 2ND DAY & NEXT DAY AIR SERVICE AVAILABLE!
[MJOjN/T/GJ/Oj/MJE|R| Yj G [RIAJN| T=
Oe Ei
AMIGA
San
C=Commodore
1084
MONITOR
Snecial Purchase Blowouts!
Commodore?’
C=zCommodore:
1802
413" COLOR COMPOSITE
MONITOR w/SOUND
(RECONDITIONED)
=e COL. THERMG
RINTER icLupes
COMMODORE INTERFACE
SPECIALI
5 Free Games
with Purchase!
ME&GNAVOX
13 COLO
COMPOSITE,RGB
MONITOR w/SOUND
(RECONDITIONED)
EXCELLERATOR PLUS
FSD Il DISK DRIVE
SAVE BIG $$$
WHEN YOU BUY ONE OF OUR ALL IN ONE PACK
64C COMMODORE COMMODORE
TEST PILOT 646 64C
PACKAGE | COMPLETE COLOR
“commomereesc | PACKAGE | PACKAGE COMMODORE 64/128 SOFTWARE
+ Commodore 1541
Disk Drive + Commodore 64C | » Commodore 64C FOP HIF LIST!
seoysticns ink Computer Computer Big Blue Reador..n..nunn$91,00 Maverickv5.0... $29.00 Secret Sier Blados..
Software + Commodore 1541] »Commodore 1541 Gamen Mure : ne ML Baseball Eshan.
Disk Drive Disk Drive Carmen World.
5 SOFTWARE ; : ,
PACKAGES INCLUDED:| ° 80 Column Printer] +80 Column Printer Beath Krighs Kryim.
« Advanced Tactical Fightor +12 Monitor + Color Monitor
+ Infitrator Il + Harrier + Quantum Link + Quantum Link
+ Crazy Cars + Tomohawk Software Software
es b—Sen}
PANASONIC
STAR
5 ..$189.00 GX-200..
PERIPHERALS FOR COMMODORE
COMMODORE 154111 COMMODORE 1571
DISK DRIVE DISK DRIVE
1750 Clone RAM Expansi $189 Super Snapshot 5.0....
Cardco G-Wiz_Interfac ey 95. Xetec S. Graphix Jr. Interface
Commodore 1660 Mo
64, 64C Power Supply. 29.95 Xetec S. Graphix Sr. Interface.
OTHER ACCESSORIES FOR YOUR COMMODORE COMPUTER AVAILABLE
Circle Reader Service Number 187:
have the option of dumping the file
with a font utility, a program designed
to send a PostScript file to a laser print-
er. There are two that | know of. One is
called SendPS, and the other is Font
Downloader from Adobe. Font Down-
loader can be found on font disks that
Adobe distributes commercially.
SendPS is public domain and can be
found on GEnie’s Desktop Publishing
RoundTable, Either of these will do the
job for you, You can also use a termi-
nal program on the Mac with the same
parameters described earlier. You also
have the option of using the Macintosh
version of PageMaker sold by Aldus.
With an ingenious program by Rog-
er Eller (RogerE5 on Q-Link), we can al-
so load this file into PageMaker as an
Encapsulated PostScript File (EPF),
which is an object oriented graphic
file rather than a text file. He discov-
ered that if you add a short list of com-
mands at the beginning of the Post-
Script file, PageMaker will recognize
the file as an EPF. By doing so, you
can create some stunning effects with
commands such as Place, Resize, Con-
dense, and Stretch.
You'll need to play with the Post-
Script file a bit first. You'll need the
GEOS Text Manager, a text scrap
called EPS Insert Text, and Wrong Is
Write. Wrong Is Write is an application
which will turn your PostScript file into
a geoWrite document and back again.
It can be found on Q-Link, and a more
advanced version is sold by Storm Sys-
tems. EPS Insert Text can also be
found in Q-Link's GEOS library.
What you do is convert this true AS-
Cll PostScript file to geoWrite. Once it's
converted, paste the short text scrap at
the beginning of the document; then
convert the file back to true ASCII us-
ing Wrong Is Write. You can then load
this modified PostScript file into the
Mac version of PageMaker and create
your own effects. You can then print di-
rectly from PageMaker instead of dump-
ing the PostScript file to a printer.
The world of laser printers is within
reach of the average 64 or 128 user.
Documents generated with geoPublish
and geoWrite are comparable to
those created on high-end systems
that use gigabytes of memory. With a
little time and effort, we can get high-
end results on a low-end budget.
Carlos Amezaga invites your com-
ments or questions. His address is
1330 SW 97th Avenue, Miami, Florida
33174. He can also be reached
online. He is The Smee on Quantum-
Link, C.Amezaga on GEnie, and Carlos
Amezaga 135/10 on Fidonet. a
Gazette is looking for
utilities, games,
applications,
educational programs,
and tutorial articles. If
you've created a
program that you think
other readers might
enjoy or find useful,
send it on disk to
Gazette Submissions
Reviewer
COMPUTE Publications
324 W. Wendover Ave.
Ste. 200
Greensboro, NC 27408
Please enclose an
SASE if you wish to
have the materials
returned.
— —
uo ee
— _—v
0) 66
UTE ISN'T FAIR ~~~
STATE OF THE ART, AND SOME COD6GER.
WITH A 1948 Ph.D. Is IN CHARGE /
We'RE
we,
We
a
SCHWADLun
G-6 COMPUTE NOVEMBER 1991
FIND US ON Q-LINK
FREE
COMPUTE of NET
m About COMPUTE/NET
@ Product Ordering
@ Feedback Board
m@ Coming Events
@ Monthly Contest
Welcome to the grand opening of _
COMPUTE/NET. A wealth of
information awaits you. Back issues
of COMPUTE, hard-to-find computer
books, super software, dazzling —
pictures, challenging games, prizes,
a complete bulletin board, and
much more are here. You can even
talk to the editors and authors of the
magazine. Lots of surprises are
planned, so keep your eyes on us.
Q-LINK STARTER KIT.
FREE TIME. ORDER TODAY! —
Just call our toll-free number or
return the coupon, and we'll send
you the Q-Link Starter Kit and
software free, waive your first
month's membership fee, and credit
you with one hour of "Plus" time to
try the service. Your $9.95 monthly
fee gives you unlimited access to
all of our "Basic" services online,
including a searchable encyclope-
dia, AND one free*hour of "Plus"
services. After your free hour,
you'll pay only $4.80/hour-just 8
cents per minute—for additional use
of the service, a
Q-Link is a registered service mark of
Quantum Computer Services, Inc.
*Long-distance charges may apply.
Surcharges apply if you are a resident of
Alaska, Hawaii, or Canada. Allow four to
six weeks for delivery.
O YES! Send me my FREE Q-Link software, waive my
first month's membership fee, and credit me with one
FREE* hour of Plus time to explore the service and rey
COMPUTE/NET.
Name
Address.
City
Home Phone
State Zip
MAIL TO
: Q-Link
Use of Q-Link requires a VISA, 8619 Westwood Center Drive
MasterCard, or checking account. Vienna, Virginia 22182-9897
REVIEWS
THE
UNTOUCHABLES
Chicago, 1931. The dark
streets of this city are not a
safe place to be! Al Capone
and the Mob have invaded
this area for their own unscru-
pulous and illegal dealings.
It's up to you to free this city
from their control.
Ocean of America’s Un-
touchables (distributed by
Electronic Arts) puts you in
control of Elliot Ness and his
team of crimebusters. Get
plenty of rest now, because
you'll need your strength and
your mission won't be easy!
Like the popular movie of
the same name, this arcade
game is full of action and dan-
ger. You must complete six
very difficult levels to win
this game. These levels are
called Warehouse, Bridge, Al-
leys, Train Station, Hostage,
and Rooftop. At each level,
you must accumulate points
and evidence. This is not
easy. For example, at the
Warehouse level, gangsters
are trying to kill you as you
search for the Mob's book-
keepers. You want their
books, but they're armed
and not about to cooperate.
Time is another factor that
can affect your success.
Each level must be complet-
ed in a certain amount of
time. Using the Warehouse
level once again as an exam-
ple, once you kill a bookkeep-
er or make him drop his evi-
dence, you have only a short
amount of time to pick it up.
As the game begins, you
are at the bottom level of the
Warehouse. You must en-
gage in a surprise attack on
Al Capone's bootlegging op-
eration to get the necessary
damaging evidence from his
bookkeepers’ ledger pages.
An arrow displayed at the
top of the screen tells which
direction to move to find
G-8 COMPUTE NOVEMBER 1991
these bookkeepers with the
evidence. But watch out!
Gangsters move in quickly to
stop you as you chase these
fast-moving bookkeepers.
You get points for killing
gangsters. You can also ac-
quire additional weapons
and ammunition or extra en-
ergy in some cases. Howev-
er, cornering the bookkeep-
ers is more important, since
you collect a certain percent-
age of the necessary evi-
dence from each one. If you
accumulate 100 percent of
the evidence before the time
limit expires, you move to the
next level, the Bridge.
At the Bridge, Capone's
men are attempting to cross
the Canadian border to safe-
ty and must be stopped.
Again, you must kill the gang-
sters to collect the neces-
sary evidence. At this level,
you should probably select
a different Untouchable char-
acter, since your current one
is getting weak.
In the next stage, the Al-
leys, you must collar Ca-
pone’s accountant with the
evidence before he skips
town on a fast train.
The fourth level, the Train
Station, has your Untoucha-
ble character guiding a run-
away baby carriage away
from gunfire and dangerous
obstacles. If innocent civil-
LL
Help Elliot Ness get the goods on Al Capone and his Mob.
ians are accidentally shot,
your character loses energy.
At the fifth level, only one
of Capone's men is left, and
he decides to take someone
hostage. React quickly,
since you only have five sec-
onds to kill the gangster.
The final level is the
Rooftop. With all the evi-
dence you have collected
against Capone, he has
been indicted. However, you
must now dispose of Ca-
pone's hitman. Manage this,
and you'll win the game.
The Untouchables is easy
to understand. There's no
problem figuring out what
moves to make and how to
play it. However, | did find it
very difficult to get to the high-
er levels of the game. With
practice, my score gradually
improved. This game definite-
ly takes a lot of practice to
reach the upper levels. Learn-
ing the detailed layout of
each level can help, but |
think the average player will
have problems just getting to
the second or third level.
The documentation for
this game is brief, but it pro-
vides you with all the informa-
tion you need to begin play-
ing. Instructions are straight-
forward and easy to compre-
hend, Each level of play is de-
scribed in enough detail to
help you understand what
you will be up against. This
documentation also includes
some useful tips on playing.
The game's main idea is not
that original; it's simply good
guys versus bad guys. How-
ever, | liked the challenge in-
volved in defending myself
against the gangsters while
searching for the evidence,
as opposed to just worrying
about being shot.
The Untouchables also
makes good use of the 64's
graphics and sound capabil-
ities. Graphics were dis-
played on the screen in
much detail. The back-
ground music was pleasant
and set the mood for action.
This game is entertaining,
and its level of difficulty only
makes it more of a challenge
to play. So, if you like a real
challenge, this game will
give you hours of enjoyment
as you visit Al Capone's Chi-
cago of the 1930s.
Chicago, 1991. Sixty
years have gone by, and the
streets are much safer now.
Al Capone's reign of terror is
but a distant, unpleasant
memory. Unfortunately, Elliot
Ness and his brave heroes
are also relegated to the
past, but with your 64, you
can go back to the era of the
Untouchables and relive
their fight against crime.
CHRIS STAWASZ
Commodore 64 and 128—$14.95
OCEAN OF AMERICA
Distributed by Electronic Arts
1450 Fashion Island Blvd.
San Mateo, CA 94404
(415) 571-7171
Circle Reader Service Number 311
PUMP UP
YOUR PRODUCTIVITY!
Harness the potential of your, The Gazette Graphics
64 and 128 with these ne
Do it all with Commodore
powerful programs.
graphics!
Here's what's on it-
Get more work out of your 64 and 128 Seen DERE aS
with these two new disk products from 128 Graphics Compactor,
COMPUTE's Gazette — the 1992
Best of Gazette Utilities, and
the Gazette Graphics Grab
64 Animator, VDC Graphics,
Dissolve 128, Super Slideshow,
128 Animator, 1526 PrintScreen,
Supratechnic, Medium-Resolution
Bag! Graphics, Screen Maker, GAS!64—
The 1992 Best of Special Edition, GAS!128—-Special
opens Edition.
Gazette Utilities us
Seize control of your operating
system and your world! ORDER
Here's what's on it-MetaBASIC 64,
MetaBASIC 128, Quick, SprintI,
Ultrafont+, RAMDisk 64, RAMDisk 128,
BASSEM, SciCalc 64, List Formatter,
MegaSqueeze.
THEM
TODAY!
Extend Your Computer Power With This Powerful Software!
SSS
A Check or Money Order _ MasterCard _ VISA
| want to pump up my productivity! Please send me the
@ disks checked below at $11.95 each. Credit Card No. Exp. Date
The 1992 Best of Gazette Utilities Sonate (Required)
_—— The Gazette Graphics Grab Bag Daytime Telephone No.
_—— Subtotal Nano
___ Sales Tax (Residents of NC and NY please add appropriate sales tax for your
area. Canadian orders, add 7% goods and services tax.) Address
| ___ Shipping and Handling ($2.00 U.S. and Canada, $3.00 surface mail, $5.00 City |
| airmail per disk.)
State/Province ZIP/Postal Code
__ Total Enclosed
Mail this coupon to COMPUTE's 1991 Utilities, 324 West Wendover Ave., Ste. 200,
MasterCard and VISA accepted on orders with subtotal over $20. Greensboro, NC 27408.
REVIEWS
B.A.T.
If you're looking for a sci-
ence fiction role-playing
game that takes the genre to
its limits of creativity, original-
ity, and fun, then check out
B.A.T. I've never played a
stranger sci-fi game.
The designers of B.A.T.
worked hard to produce a
game that’s unique in every
aspect. They succeeded
and went beyond this goal to
create a game that’s as
much fun to explore as it is
to solve. Although B.A.T.
takes many hours to finish,
it's also fun just to explore
the game's more than 1000
locations that vary from bars
and offices to apartments
and caves. B.A.T. comes
from UBI Soft in France, and
its European feel contributes
a great deal to the game's ef-
fect on its players.
First of all, B.A.T. stands
for the Bureau of Astral Trou-
bleshooters, a group of galac-
tic police officers whose job
is to investigate problems
and maintain order. Just
don’t make the mistake of pro-
nouncing the acronym bat.
Your character is a new
agent brought into the B.A.T.
organization to capture Vran-
gor, a dangerous scientist,
and his sidekick Merigo.
Both of them recently broke
out of prison. The two troub-
lemakers have threatened to
destroy the large city of Ter-
rapolis on the planet Selenia
if their demands are not met.
Although you have to work
fast to find and neutralize
Vrangor and Merigo, the sto-
ry moves you along so you
can perform crucial actions
at the right times. There is
plenty of time to explore Se-
lenia, and it's important to
look for clues and to familiar-
ize yourself with the game.
The first step in B.A.T. is to
create a character. Your per-
sona can have many charac-
G-10
teristics and abilities to accu-
rately represent you in the
game. The development of
characters in B.A.T. is one of
the most comprehensive
and complete systems in the
RPG field. Your character pos-
sesses various competen-
cies and aptitudes, some of
which are modifiable during
character creation.
E
IATELIGH SIN
B.A.T. uses menus and
icons for gameplay. You can
select the main menu with
the cursor to access the nec-
essary commands and also
click directly on the screen
to gain information about ob-
jects, talk with characters,
and use exits. The interface
is dynamic and combines
the menu commands and
+ nnn
CHRRISN +111
PERCEPT +iiiiiaiiin ss
MITALITY +l
IREFLE
&
SSH
Menus and windows in B.A.T. simplify gameplay and help you
explore more than 1000 different locations.
Six areas of competence
which may not be modified
are life percentage remain-
ing, level of knowledge, ex-
perience, calorie require-
ments, hydration require-
ments, and credits (money)
The six modifiable character-
istics are force, intelligence,
charisma, perception, vitali-
ty, and reflexes. Various ap-
titudes include such skills as
climbing, vigilance, and psy-
chology. As you can see, a
character in B.A.T. can be
well developed.
There are enough places
to visit and enough mini-
quests to solve in B.A.T. so
that all of your character's
competences and aptitudes
gain real meaning at one
time or another. Another
nice touch is the chart that
visually represents these char-
acteristics and abilities on
the character screen.
COMPUTE NOVEMBER 1991
clickable icons tomake game-
play effortless. The manual ex-
plains all of the menu com-
mands and subcommands
and shows the menu levels
in detail. There are only a few
main commands, but they
cover everything your charac-
ter does in the game.
Two other parts of the inter-
face further confirm the
uniqueness of B.A.T. These
are B.O.B., a biodirectional
organic bioputer, and the
DRAG, a vehicle you use to
travel around Selenia.
B.O.B. is attached to your
character's arm, and it per-
forms several important func-
tions. It can list your alter
ego's characteristics and
physical condition and can
modify heart rate. Perhaps
more important, B.O.B. can
be programmed with a sim-
ple command language to
perform some functions auto-
matically, such as alerting
you when Vrangor or anoth-
er enemy is near or automat-
ically translating languages
of aliens during conversa-
tions. B.O.B. is very useful in
B.A.T. and further develops
the game universe.
The DRAG is a simple fly-
ing machine that adds 3-D
flight simulation to B.A.T’s al-
ready complete interface.
It's tough to fly, but it does car-
ry some formidable weapon-
ry. You need DRAG to reach
certain locations in the
game, and it expands your
character's mobility.
The graphics in B.A.T. are
impressive. The locations
are detailed and colorful,
and you can access most ar-
eas of the picture with the
menu commands. When you
enter small rooms or other lo-
cations, B.A.T pops up a win-
dow for that location rather
than clearing the screen.
This windowing trick main-
tains itself because there are
only a few windows on-
screen at any time. This fea-
ture provides the player with
a partial view of previous lo-
cations and simplifies visu-
alization of the game world.
The 3-D view from the DRAG
ship works well on the 64.
Movement is fluid, and the
lying machine adds yet an-
other level of fun to this
game. B.A.T. is one of those
gems that you might normal-
y miss because it comes
rom a small software compa-
ny and has a strange name
and box cover. The game pre-
sents science fiction ina way
hat any fan will devour. The
variety of weapons, alien rac-
es, locations, and objects
populating the game adds
the finishing touch of realism
to this future world.
B.A.T. lets you move at
your own pace to explore the
game world and enjoy all
that it has to offer. You can
continue to enjoy the game
CONMNPUTE BOOKS
GIANT WAREHOUSE
CLEARANCE SALE
Commodore
Books
as low as
— First Book of Commodore 64 Games (37X) Mapping the Commodore 64 (0823)
First Book of Commodore 64 (34X) © More Machine Language Games for the Commodore 64 (0947)
Third Book of Commodore 64 (728) C) Machine Language for Beginners (116)
All About the Commodore 64, V. 1 (040X) 40 Great Submarine Simulator Adventures (1722)
Beginners Guide to Commodore 64 Sound (54X) 40 Great Flight Simulator Adventures (0224)
Commodore 64/128 Power Basic (0998) 40 More Great Flight Simulator Adventures (0432)
Commodore Collection (701) Flying on Instruments with Flight Simulator (0912)
Creating Arcade Games on the Commodore 64 (361) Official Book of King’s Quest (1552)
Machine Language Games for the Commodore 64 (0610)
A. ___________. Total number of books ordered Enclosed is Check MC# VISA#
B.___________ Total cost of books ordered: MC or VISA #__________ Expiration date
1 book—$6 3 books—$15 5 books—$22 Signature
2 books—$11 4 books—$19 6 books or more—$4 each ame
C.__________ Shipping and Handling: Please add $1 per Address
book US, $2 per book Canada, or $6 per book foreign
City State Code
D.__________ NY, NJ, NC orders please add appropriate Mail to: COMPUTE Books
sales tax. Canadian orders add 7% Goods and Services Tax c/o CCC
2500 McClellan Ave.
Total Cost (B+C+D) Pennsauken, NJ 08109
Please allow 4 to 6 weeks for delivery.
'
'
t
'
'
'
'
'
'
t
1
1
1
1
'
1
'
ij
i)
\
\
'
'
1
1
1
i)
f
i)
'
1
H
1
!
1
Please place a check next to the books you want. Complete the form below and mail entire coupon to the address below. |
'
'
1
'
1
i
1
\
\
'
'
1
1
1
1
1
Hl
1
1
1
1
1
1
'
'
'
'
1
f
1
Offer expires December 31, 1991 or while supplies last. CLEAR H
i
i
1
'
'
'
\
\)
i
\
\
\
\
\
H
'
i
i
'
i
i
'
'
'
1
\
'
'
‘
'
\
'
1
'
1
'
\
H
\ ‘ ‘ "i
! Be sure to enclose a check or credit card information.
'
1
f
f
i
'
'
'
'
1
'
'
i)
'
i
'
'
I
I
I
i
i
1
1
'
'
i
'
I
I
'
1
\
REVIEWS
(Se Se eT
even after you eliminate Vran-
gor and Merigo. With its dy-
namic environment, B.A.T. of-
fers the sci-fi fan a world as
detailed as a book and as vis-
ual as a motion picture.
RUSS CECCOLA
Commodore 64 and 128—$39.95
UBI SOFT
Distributed by Electronic Arts
1450 Fashion Island Blvd.
San Mateo, CA 94404
(415) 571-7171
Circle Reader Service Number 312
METAL GEAR
Rockets, rations, handguns,
oh my! Metal Gear from
Konami has all this and
more. This arcade/action
game tosses you into the
heat of combat as a one-
man army sent to stop the in-
sane Col. Vermon CatTaffy
from taking over the world.
Here's a chance to see if
you've learned anything
from all those Stallone and
Schwarzenegger movies.
CaTaffy has set up a vast
compound in Outer Heaven,
a small nation in Africa that
houses his worst creation,
the ultimate weapon—Metal
Gear. As Solid Snake of the
covert unit Fox Hound, you
must infiltrate the enemy com-
pound; collect weapons, am-
munition, and other useful ob-
jects; and then destroy Ca-
Taffy's powerful device.
Metal Gear is an average
game that doesn't excel in
any particular area, except
perhaps fun. For its price,
the game is an absolute
steal and will keep you occu-
pied for hours.
Metal Gear's main screen
has a three-quarter perspec-
tive view through which your
character moves. If you hit
any key other than the
space bar, a menu pops up
providing you with various
choices for the weapons
screen, equipment screen,
G-12
or communications screen.
The first two screens
show pictures of all the weap-
ons and objects that you pos-
sess. Select one of them or
a blank position with a cursor
to exit the screen. The com-
munications screen provides
access to your transceiver,
the means to communicate
fisted variety in Metal Gear.
The graphics are average
for a 64 game. You can eas-
ily distinguish the objects
and floor layout, but the col-
Ors On most screens are a
drab green-blue. What Met-
al Gear lacks in splashy
graphics, however, it more
than makes up for in music
You must capture weapons and equipment if you hope to foil Col.
Vermon CaTaffy’s evil plan to conquer the world.
with home base for helpful
hints and messages. The
space bar switches between
your fistand the current weap-
on. The gameplay in Metal
Gear is simple. You move
around the buildings and out-
door areas of the com-
pound, trying to find better
weapons and special ob-
jects that'll get you past ob-
stacles and traps.
Konami includes a map of
all game screens along with
the well-written manual in the
package. Although it felt like
cheating to use the map, |
found it very helpful in some
places. Even with the map,
Metal Gear is still challeng-
ing and fun. Your heart will
still be pounding by the time
you get to the final level of
buildings. With well over 100
screens, there's a lot of two-
COMPUTE NOVEMBER 1991
and sound effects. The mu-
sic is catchy and fast and con-
tinues throughout the entire
game. Sound effects are not
as impressive, but the explo-
sions and gunfire still get the
point across. The music
heightens the intensity in the
game more than any other
feature.
One big problem with Met-
al Gear is disk access. Eve-
ry two or three screens and
every time you go into a
room or other enclosure, the
screen blanks, and the drive
starts spinning. This be-
comes so annoying that | fre-
quently take a break and
leave the game. Other ar-
cade games of the same com-
plexity have tackled this prob-
lem in the past.
Metal Gear’s method of
saving games is also awk-
ward, The save-game fea-
ture is very important for a
game as large as this one.
However, Metal Gear saves
directly to the program disk,
and | often had problems re-
storing games. In the end, |
had to start all over. For this
reason, | decided to play Met-
al Gear in one sitting rather
than chance losing my
place. It's always a bad idea
to save games to the pro-
gram disk.
The variety of neat objects
and compound rooms kept
my interest in Metal Gear.
From a bomb blast suit and
compass to an oxygen tank
and flashlight, you intelligent-
ly use objects to conquer the
terrain and traps. This ele-
ment of Metal Gear elevates
the game above the bevy of
military shoot-'em-up clones
to acategory reserved for bet-
ter action games.
One hint to keep you
awash in ammunition is to
take note of all places where
you find bullets and such.
When you leave the room
and reenter, you'll find a
fresh supply of ammo in the
same place. | don't know if
this is a glitch in the pro-
gram, but it certainly keeps
me from running out of both
rations and ammo.
If you like games with a lot
of action and strategy to
boot, Metal Gear is worth
your money and efforts. The
game lasts longer than its
monetary equivalent in mov-
ies and puts you in charge of
all the action.
Now go get CatTaffy be-
fore he eliminates what's left
of the world! And watch out
for those land mines!
RUSS CECCOLA
Commodore 64 and 128—$14.95
KONAMI
900 Deerfield Pkwy.
Buffalo Grove, IL 60089
(708) 215-5100
Circle Reader Service Number 313
The Lowest Prices in the World on
Commodore-Ready Printers!
NX-1000C
This is the Commodore-ready version of the NX-1000. You can just plug é SK@)) “es
it in and start printing— no additional interfaces or cables are re
Sea) Rew $299.00 THE COMPUTER PRINTER
pres
NX-1000C Printer 75060
Black Ribbon for NX-1000C/NX-1000C
ssaidxy 1ayndwoy XANAL
Rainbow Color Printer 75471 $5.95
Color Ribbon for NX-1000/NX-1000C
2 Rainbow Color Printer 75485 $9.95
Sug, Retail $379.00 Dust Cover for NX-1 000C/NX-1000C
NX-1000C Rainbow Color Printer, Rainbow Color Printer 77789 $8.95
Commodore Ready 75783 $219.95
Don't miss out on the Lowest Prices on P * rer S + lies
Amiga 500 and Accessories!!
Call today to receive your FREE catalog
with the greatest prices on the most
popular hardware and software!
Limited Quantities!
TENEX MW 701-A. Conse!
and 1.8A, this unit for the C64 featur
fused system. Its new heat-sink design all
operating temperatures inside the c
warrant Sug. Retail $49.95
TENEX MW 701-A 84513 $34.95
‘ated at 5V
double-
TENEX MW 705. Perf This is
j. Retail $69.95
S
TENEX MW 705 90686 $49.95
P.O. Box 6578 rds Aarts eee
South Bend, IN 46660 less than $19.99 $4.50
(219) 259-7051 — FAX (219) 259-0300 $20.00-$39.99 sscsorin eee
$40.00-$74.99 nr 6.75
Computer Express We gladly accept mail orders! No Extra Fee For Charges! $75.00-598.99 ..... 78
Circle Reader Service Number 170 $99,00-5149.99 . 18.75
$150.00-$299.99 ae 9.75
ORDER TODAY CALL 1-800-PROMPT-1 $300.00 & up.
The
- GRAPEVINE
GROUP, ,
Inc. Cx
COMMODORE UPGRADES
i
i
‘© Assuper-heavy, repairable C-64 power supply with an
output of 4.3 amps (that’s over 3x as powerful as the
original). Featuring 1 year warranty, ext. fuse, schemat-
ics, UL approved, This supply is used for multiple drives,
additional memory and “packet.” Cost is $37.95 and
includes as a bonus either the Commodore Diagnostician
11 (valued @ $6.95) or the “programmers utility” plug-in
Cartridge (valued @ $9.95).
© 43 amp supply for C-128. Same features as
above—$39.95 (includes bonus package)
* © Our Biggest Seller © 1.8 amp repairable heavy duty
supply for C-64, (Over 120,000 sold.) $24.95
PRINTHEAD REFURBISHING
Save time and money by having your tired, worn-out or
damaged printhead refurbished or remanufactured at a
fraction of the cost of anew one. Features low cost, 5 day
service and 1 year warranty Call for prices/into.
fey? COMMODORE DIAGNOSTICIAN II
Originally developed as a software package, then
£}’> converted to a readable format, the Diagnostician has
become a fantastic seller. With over 38,000 sold
worldwide, Diagnostician Il utilizes sophisticated cross
reference grids to locate faulty components (ICs) on all
C-64 and C1541 computers (C-128/64 mode). Save
A money and downtime by promptly locating what chip(s)
have failed. (No equipment of any kind needed.)
Success rate from diagnosis-to-repair is 98%. Includes
$6.95
(Avail. for Amiga computers with 3%” disk at $14.95.)
~ © COMPUTER SAVER: This C-64 Protection System
‘Saves you costly repairs. Over 52% of 0-64 failures are
caused by malfunctioning power supplies that destroy
your computer. Installs in seconds between power
supply & C-64. No soldering. 2 year warranty. An
absolute must $17.95
® 1750 COMMODORE 512K RAM EXPANDER CAR-
“2 TRIDGE: Finally a sensational price that's hard to beat,
Gives your 64/128 512K of memory. Comes with
H diskette anda 4.3 amp. heavy duty power supply valued
at $37.95 (a necessity) Factory new upgrade..$131.00
1802 COMMODORE COMPOSITE COLOR
MONITOR/SOUND: Refurbished, looks mint, includes
all cables, 90 day warranty. A sensational bargain and
perfect for C64/C128 $119.0
‘© RIBBONS for MPS801/2/3, 1526, MX80/100..$2.95
=
+ EMERGENCY STARTUP KITS +
Repair your own Commodroe/Amiga and save lots of
money. Originally blister packaged for government PXs
1] worldwide, these kits are now available to you (no
FL: soldering). Kits for Amiga, C64 and drives. Each kit
contains all chips, 4164 memories, schematic, Commo-
dore Diagnostician Il, fuse, chip puller and diagnostic
test diskette with 9 programs. .. Send for full details.
All 901/225:
C-128 ROMs Upgrd
C-128 RAM Upgrd ...
C-64 Keyboard (new).
Commodore Cables ...
Super Graphics Softwar
Super Graphics Jr Software .
300 Baud Modem/SW & cables
CBM to IBM Printer Cable Adapter .
@® 3 cHesTNUT ST., SUFFERN, NY 10901 Ml
= Order Line 1-800-292-7445
Fax 914-357-6243 Hours: 9-6 E.S.1. M-F 914-357-2424
Circle Reader Service Number 128
G-14. COMPUTE NOVEMBER 1991
REVIEWS
GATEWAY 64
CMD says gateWay represents a “new
philosophy with working with GEOS.”
It's not kidding.
Unlike some alternative deskTops,
gateWay is a full GEOS replacement.
The first thing you do is create a new
boot disk customized to your setup.
This includes a device driver for each
of your disk drives, your printer, and
your input device. Once you've done
this, you boot up into a different world.
Fortunately, this world runs by famil-
iar GEOS rules. Gadgets on the screen
are intuitively designed. Files are listed
by name in a resizable window from
which they can be selected and ma-
neuvered with a mouse click.
On one side of the filenames is a slid-
er to move quickly through a directory.
On the other side a “fuel gauge” shows
how much of the disk is filled. If you
need to be more exact, a click on the
gauge opens a window of disk informa-
tion. Keyboard shortcuts are pretty
much the same as with GEOS. Gate-
Way operates with exceptional smooth-
ness; the entire directory is in memory
at once, which speeds up scrolling.
Basically, these changes are cosmet-
ic, but there are some real improve-
ments that make gateWay shine. The
program supports three active drives at
one time if you have a RAM expansion
unit (REU). It also has a trash can sys-
tem which allows you to toss unwanted
files into an alternate menu, but if you
change your mind, they can be reinstat-
ed. But gateWay really jumps ahead of
the deskTop and stock GEOS when it
comes to supporting disk drives. It of-
fers device drivers not only for 1500-
series drives, but for CMD hard drives,
all REUs (including geoRAM and the
1700), and CMD's new RAMDrive and
RAMLink systems.
Also included is a RAM disk driver
which takes advantage of any extra
memory you may have installed. If you
operate GEOS with anything more than
a floppy drive or two, gateWay will fi-
nally allow your system to run instead
of walk. If you have at least 512K RAM
on board, gateWay flies. Using a 64K
area of RAM, the system offers a task-
switching device called the Switcher.
Press two keys, and you can jump in-
stantly between two applications. This
91
Gazette
Index
Everything’s included!
Features, games, reviews,
education/home applications,
programming, bugswatter,
feedback, and columns!
A superb interface includes pull-down
menus, help screens, and keyboard,
joystick, or mouse control. Features in-
clude super-fast searching and sorting
capabilities. An options screen allows
you to choose text colors, drive num-
ber, and input device. And there’s full
documentation on disk.
Choose from three modes of opera-
tion—browse for quick scanning, view
for detailed information and descrip-
tions, and edit for adding items from
upcoming issues—and print to any
printer. There’s even a turbo-load op-
tion for maximum disk-access speed.
ORDER YOUR
1991 GAZETTE
INDEX TODAY!
(MasterCard and Visa accepted on
‘orders with subtotal over $20.)
To order, send $7.95 per disk, the
quantity of disks ordered, check or
money order,” your name and com-
plete street address:
1991 Gazette Index
324 West Wendover Avenue
Suite 200
Greensboro, NC 27408
*Please add $2 shipping & handling ($5 foreign) for
each disk (residents of NC, NJ, NY please add appli-
cable sales tax; Canadian orders, add 7% goods and
services tax).
All payments must be in U.S. funds. Please allow 4
weeks for delivery.
is one of the most exciting fea-
tures of gateWay, but it
works only if you have a lot
of extra RAM installed.
Features like full three-
drive support also require an
REU. This program is de-
signed for the user with an ex-
panded system. If that's you,
gateWay is a must.
The more you have for
gateWay to play with, the
more powerful the system be-
comes. You can modify your
version of gateWay with a
new file type called a Gate-
way Document. This is essen-
tially a separate but compat-
ible program which can be
integrated into gateWay to
provide additional options.
Several such documents are
provided as examples.
You'll find gateWay works
well with various disk drive
combinations. Without extra
RAM, however, different mod-
els can only communicate
for basic file copying.
GateWay cheerfully runs al-
most any application or
desk accessory written for
GEOS. To ensure compatibil-
ity, CMD has provided a driv-
er which configures the REU
to emulate the 1541/1571
drive supported by GEOS it-
self. The manual is well writ-
ten, despite a few errors re-
sulting from last-minute
changes in the software.
STEVE VANDER ARK
Commodore 64—$29.95
CREATIVE MICRO DESIGNS
P.O. Box 646
East Longmeadow, MA 01028
(413) 525-0023
Circle Reader Service Number 314
Big Blue Reader 128/64
Read & Write IBM PC Disks!
Big Blue Reader 128/64 is a fast, easy-to-use, menu driven program
for novice and expert alike. Transfers word processing, text, ASCII, and
binary files between Commodore 64/128 and IBM PC compatible 360K
5.25" and 720K 3.5" disks. Includes both C64 & C128 programs.
Requires 1571 or 1581 Disk Drive. Does not work using 1541.
BBR 128 Version 3.1 upgrade, $18+ original BBR disk.
Big Blue Reader 128/64 only $44.95
Bible Search 3.1
The only Bible Study Program with:
1. The Entire Ol lew on (4) 1541/71 or (2) 1581 disks.
2. An Exhaustive English Concordance on (2) 1541/71 or (1) 1581
disks; includes more than 700,000+ references.
3. Incredible five (5) second look-up time, per/word, per/disk.
4. Instant, automatic spell checking of more than 12,800 words.
5. Boolean search options, including AND, OR & NOT logic.
6. Search entire Bible in 5 seconds with 1581 or Hard Drive (v3.5).
7. A Money Back Guarantee!
Includes: Easy-to-use, C64 and C128 (40/80 column) programs;
printer and disk output; users guide, disk case, and more.
Available on (7) 1541/71, or (4) 1581 disks. (Demo disk $5)
KJV $49.95 vevrrrdkde NIV $59.95
*¥ Any questions? Call or write for more information.
Now Available! AMIGA, Bible Search
Order by check, money order, or COD, US Funds only.
© FREE shipping in North America. No Credit Card orders.
Foreign orders add $5 S/H ($12 whole Bible)
SOGWAP Software = (219)724-3900
115 Bellmont Road; Decatur, Indiana 46733
disk!
COMPUTE.
Yes, save time and money! Subscribe to the Gazette
Disk and get all the exciting, fun-filled Gazette pro-
grams for your Commodore 64 or 128—already on
Subscribe today, and month after month you'll
get all the latest, most challenging, and fascinating
programs published in the corresponding issue of
New on the Gazette Disk/ In addition to the
programs that appear in the magazine, you'll also
get outstanding bonus programs. These programs,
which are often too large to offer as type-ins, are
available only on disk—they appear nowhere else.
As another Gazette Disk extra, check out
“Gazette Gallery,” where each month we present the
very best in original 64 and 128 artwork.
So don’t waste another moment. Subscribe to-
day to COMPUTE'’s Gazette Disk and get 12 issues
for only $49.95. You save almost 60% off the single-
issue price. Clip or photocopy and mail completed
coupon today.
Individual issues of the disk are available for
$9.95 (plus $2.00 shipping and handling) by writing
to COMPUTE, 324 West Wendover Avenue, Suite
200, Greensboro, North Carolina 27408.
YES! Start my one-year subscription
to COMPUTE’s Gazette Disk right away
for only $49.95.*
O Payment enclosed (check or money order)
|
|
|
|
1
I
1
|
! OCharge OMasterCard O Visa
1 Acct. No. Exp. Date
; Signature
(Required)
4 Name
| Address
1 oy
I State/ ZIP/
Province ____________ Postal Code
4 Mail to COMPUTE's Gazette Disk, P.O. Box 3250, Harlan, IA 51593-2430
"Residents of NC and NY, please add appropriate sales tax for area. Canadian
orders, add 7% goods and services tax. Lie!
G-16
Questions and
answers
about plotting
equations,
computer uses,
and more
FEEDBACK
SS a ee
Plotting Equations
Is it possible to get a hi-res
program with a PLOT X,Y func-
tion for the 64, which will rap-
idly plot equations on x- and
y-coordinate axes?
FRANK GORDON
ORONO, ME
Here's a very simple routine in
64 BASIC that will plot a sine
function. The program asks
for upper and lower bounds
which are the amplitude of
the sine wave. No matter
what amplitude you select,
the program will scale the
sine wave to fill the screen.
For brevity, finer points (such
as adding values and tick
marks to the axes, providing
text on the screen, and error
checking for infinities) have
been omitted.
When you run the program,
it asks for a lower and upper
bound. For a demonstration,
enter -6 and 6 and then experi-
ment with other values. Press
any key when the program fin-
ishes. Type RUN for another
plot. A machine language rou-
tine lets you go to bitmap
mode (clearing the bitmap
screen as it does so), return
to text mode, and clear the
bitmapped screen indepena-
ently of modes.
SH 166
cx 119
AD=49152
READ XX:IF XX>=@
{SPACE}THEN POKE
{SPACE}AD,XX:AD=A
D+1:GOTO11¢
INPUT"WHAT IS THE
LOWER BOUND";X1
INPUT"WHAT IS THE
UPPER BOUND";X2
PRINT: PRINT" PLEAS
E WAIT";
XX=X1:GOSUB 310:¥
1=¥¥:¥2=¥Y¥:RX=319
/(X2-X1)
FOR XX=Xl TO X2 S
TEP 1/RX:PRINT"."
72:GOSUB 318
IF YY<¥l THEN Y1=
YY
IF YY>¥2 THEN Y¥2=
YY
NEXT: RY=199/(¥2-¥
JJ 126
FC 136
car 146
DX 150
KF 166
MJ 176
EQ 186
AE 196
1)
SYS 49152:REM GO
{SPACE}TO BITMAP
CI 296
COMPUTE NOVEMBER 1991
SJ
sc
KF
BB
MB
KS
DB
MH
EX
PE
ER
KS
BD
RX
CG
xQ
DJ
HC
QB
XX
HB
216
220
236
246
256
266
276
286
296
368
316
326
336
346
358
366
376
386
396
496
416
426
436
446
IF X1<@ AND X2>0
{SPACE}THEN XX=-X
1*RX:FOR YY=6 TO
{SPACE}199:GOSUB
{SPACE}296:NEXT
IF ¥1<@ AND Y2>0
{SPACE}THEN YY=-Y
1*RY:FOR XX=8 TO
{SPACE}319:GOSUB
{SPACE}296:NEXT
FOR X@=Xl TO X2 S
TEP 1/RX
XX=XG:GOSUB 316:X
X= (XX-X1) *RX: YY=(
YY-¥1) *RY:GOSUB29
6
NEXT
GET AS$:IF AS="" 7
HEN 268
SYS 49152+3:REM R
ECOVER THE TEXT S
CREEN
END
Y¥G=199-YY:AD=8192
+INT (YO/8) *320+IN
7 (XX/8) *8+ (INT (YG
) AND 7)
POKE AD,PEEK(AD)
{SPACE}OR (aT
INT(XX) AND 7))):
RETURN
YY=SIN (XX) : RETURN
DATA 76,13,192,76
174,192,76,83,192
16,7
DATA @,6,32,108,1
92,32,83,192,173,
9,192
DATA 141,32,208,1
62,4,134,252,162,
6,134,251
DATA 166,0,173,16
,192,18,18,16,16,
13,9
DATA 192,145,251,
206,166,252,224,7
1246,9,192
DATA 6,268,243,23
6,252,76,45,192,1
46,11,192
DATA 174,11,192),2
24,232,208,228,96
132,139,192
DATA 169,147,32,2
16,255,96,169,0,1
33,251,169
DATA 32,133,252,1
69,0,168,145,251,
206,268,251
DATA 236,252,166,
252,224,64,268,24
3,96,173,17
DATA 268,9,32,9,1
6,141,17,208,173,
22,268
DATA 24,41,223,14
1,22,268,173,24,2
68,24,41
DATA 249,9,8,141,
24,208,96,173,17,
268,24
“ground (plot) color,
GG 45@ DATA 41,223,141,1
7,208,24,173,24,2
98,24,41
DATA 246,9,6,141,
24,208,24,173,22,
268,41
DATA 239,141,22,2
08,96,-99
Lines 100 and 110 poke
the machine code into the
RAM window above BASIC.
Lines 120 through 190 do scal-
ing calculations based upon
the starting and ending val-
ues of the functional argu-
ment. Line 200 sets the
bitmap screen with SYS
49152.
Lines 210 and 220 draw
the axes if they're part of the
region being examined.
Lines 230-250 construct the
actual plot. Lines 260-280
wait for a keypress, return to
the text screen with a SYS
49152+3, and .end the
program.
Lines 290 and 300 are a
subroutine for setting the pix-
els pointed to by variables XX
and YY. Line 310 is the actu-
al location of the function
where YY receives the value
of the function when XxX is
used as the argument.
The remainder is machine
code data. If you want to
clear the bitmap, type SYS
49152+6. If you want to
change the background col-
or, type POKE 49152+9,
backcolor. To change the fore-
use
POKE 49152+10, forecolor.
Backcolor and forecolor repre-
sent the numeric values (0-
15) of the 64's 16 colors. Pick
the combination you prefer.
In addition to writing your
own code, many programs
are available which do graph-
ing as a specialized talent or
as an enhancement to BA-
SIC. These can be obtained
commercially, from the public
domain, and as shareware.
Check software stores, mail-
order houses, user groups, on-
line networks, and, of course,
COMPUTE magazine.
DE 468
AC 476
The Gazette
Productivity 9
Manager <>
(Formerly PowerPak)
Harness the productivity O
>|
power of your 64 or 128!
Turn your Commodore into
a powerful workhorse, keep track
of finances, generate reports
in a snap, manage your
money in minutes—
all with the new 1991
Gazette Productivity
Manager! Look at all
your 64/128 Productivity
Manager disk contains.
ORDER YOUR
1991 GAZETTE
PRODUCTIVITY
MANAGER
TODAY!
GemCalc 64 & 128—
A complete, powerful, user-
friendly spreadsheet with all
the features you’d expect
in an expensive commercial package
(separate 64 and 128 versions are included).
Most commands can be performed with a single keypress!
Memo Card—Unleashes the power of a full-blown
database without the fuss! Nothing’s easier—it’s a
truly simple computerized address file. Just type in
your data on any one of the index cards. Need to edit?
Just use the standard Commodore editing keys.
Finished? Just save the data to floppy. What could be
easier?
(MasterCard and Visa accepted on orders with subtotal over $20).
OYES! Please send me —_ Productivity Manager disk(s)
. A . ($14.95 each).
Financial Planner—Answers all of those questions
concerning interest; investments, and money manage-
ment that financial analysts charge big bucks for! You
can plan for your children’s education and know
exactly how much it will cost and how much you need
to save every month to reach your goal. Or, decide
whether to buy or lease a new car. Use the compound
interest and savings function to arrive at accurate Aare
|
|
I
1 ——— Subtotal
|
|
|
|
|
I
|
|
5 é |
estimates of how your money will work for you. 1 (Required)
|
|
I
I
|
|
I
|
|
|
|
1
Sales Tax (Residents of NC and NY please add appro-
priate sales tax for your area. Canadian orders, add
7% goods and services tax.)
_____ Shipping and Handling ($2.00 U.S. and Canada, $3.00
surface mail, $5.00 airmail per disk.)
Total Enclosed
— Check or Money Order -— MasterCard — VISA
Credit Card No.
Compute the answer at the click of a key! peepee
DON’T MISS OUT ON THIS
POWERFUL WORKHORSE!
Name
Address
City
State/ uP/
Province Postal Code
Send your order to Gazette 1991 Productivity Manager,
324 W. Wendover Ave., Ste. 200, Greensboro, NC 27408.
Where to find
labels for
photographic slides,
more about
the Digital Dialer,
and thanks
from a GEOS user
G-18
FEEDBACK
Intelligent Use
As newcomers to the world of
computers, our family is using
our 64 as a game machine.
Can you direct us toward infor-
mation on how to begin mak-
ing intelligent use of our com-
puter? Also, where can we
get public domain programs?
JANE TENBRINK
SHELBY, M
That's a tall order for this col-
umn, but you might start by
reading every back issue of
Gazette you can get your
hands on. We've always tried
to provide a mixture of enter-
tainment and productivity arti-
cles in Gazette to help Com-
modore users get the most
from their machines. To get
started, however, invest in the
Big Three productivity soft-
ware packages: a word proc-
essor, a spreadsheet, and a
database program. These
will let you write practically
any type of document that
you might use around the
home or office, keep financial
records, and manage other da-
ta, such as lists, club member-
ships, inventories, collections,
or what have you.
A modem and terminal pro-
gram are also good invest-
ments as they can enable
you to contact other comput-
ers in your town or across the
world. Electronic bulletin
boards are great sources of
public domain and shareware
programs. You can also find
PD software by looking
through advertisements in the
back of this magazine. There
usually are a number of good
sources listed. A user group
is another excellent source.
User group members will be
glad to share their knowledge
of computers with you and
your family.
Transparency Labels
Can anyone tell me where to
find some pin-fed label stock
for photographic slides? I’ve
COMPUTE NOVEMBER 1991
seen some programs for print-
ing them, but | can't seem to
find any here in the San Fer-
nando Valley.
B. CHANDLER SHAW
GRANADA HILLS, CA
Check with any large office
supply store in your area and
ask for an Avery label, stock
number 7207. These labels
are 12x % inches, pin fed,
but designed to stick to card-
board rather than plastic
slide mounts. You can call
(800) 843-2347 for the name
of the dealer nearest you or
write to Avery-Dennison, 850
East Algonquin Road, Schaum-
burg, Illinois 60173.
Dial This Number
In “Beginner BASIC” (April
1991) you featured ‘Your 64
as a Digital Dialer.” The arti-
cle failed to include the tone
information for a touch-tone tel-
ephone's * and # keys. Could
you provide these, please?
RICHARD C. KIRK
NICEVILLE, FL
The telephone dialer program
omitted the star (*) and
pound (#) signs and the abili-
ty to insert a pause during the
dialing process. To add
these features to Larry Cot-
ton’s program, the author sug-
gests the following changes.
Add these lines:
25 DIMW(4,12)
291 IFDS(N)="P”THEN FOR-
DE=1T01000:NEXT
292 IFDS(N)="*” THEN D$="10”
293 IFDS(N)="0" THEN D$="'11”
294 IFDS(N)="#” THEN D$="'12”
Change lines 150-180 to
read as follows:
150 FORN=10T012: W(1,N)=77:
W(2,N)=60: NEXT
160 FORN=1T010STEP3:
W(3,N)=121: W(4,N)=77; NEXT
170 FORN=2T011STEP3:
W(3,N)=156: W(4,N)=85: NEXT
180 FORN=3T012STEP3:
W(3,N)=165: W(4,N)=94: NEXT
Delete line 190 in the original
program listing.
To test the program, you'll
need to increase the length of
tones in line 240 and change
the first test data item in line
390 to read as follows.
240 Z=150
390 DATA JIM, *O#-1P11
Be sure to use the capital P to
insert a pause. To change
pause length, adjust the
length of thé time-killing FOR-
NEXT loop in line 291.
Gee, It’s GEOS!
The August issue of COM-
PUTE arrived yesterday, and
| just have to write and tell
you how much | enjoyed the
premiere of the long-awaited
GEOS column by Steve Van-
der Ark. | hope that it will be-
come a permanent feature in
the Gazette section.
My cup runneth over!
There was even a great
GEOS type-in program for cre-
ating an animated mouse
pointer. The talent and creativ-
ity of your program authors
never cease to amaze me.
ROBERT NELLIST
BROCKPORT, NY
In our recent survey, many
readers indicated that they
wanted more GEOS informa-
tion, articles, and programs.
In an effort to fill this request,
Gazette contacted Robert Nel-
list, who himself is no GEOS
novice. (See his review of
GEOS Font Editor.) Robert rec-
ommended Steve Vander
Ark. For the past few months
now, Steve's “GEOS” column
has appeared in Gazette, and
we think he's doing an out-
standing job. If you have any
GEOS-related questions or top-
ics you'd like to see him cov-
er, drop Steve a line in care
of the magazine. You can al-
so leave E-mail for him on
QuantumLink, where his han-
dle is SteveV 14. a
MACHINE LANGUAGE
Jim Butterfield
FIXED POINT
NUMBERS
We can often handle fractions
without the complexity of float-
ing point. Even BASIC some-
times has trouble with floating
point. Try entering PRINT 8.13
and see what happens when
you press Return.
Fixed point notation uses
an assumed decimal point. A
value of 12345 might be used
to represent an amount of
$123.45; a value of 45678
might represent a distance of
45.678 meters or, if you like,
45678 millimeters. Thus, val-
ues that we think of as frac-
tions can be held as integer val-
ues. This simplifies the arith-
metic. Even nonmetric values
can be stored this way: 876
ounces represents 54
pounds, 12 ounces (dividing
by 16 is easy in binary).
Here’s a simple program to
keep a monetary value as bi-
nary cents. To keep the cod-
ing compact, we'll hold the val-
ue in two bytes, 16 bits. That
imits us to a maximum
amount of $655.35; a practical
program would use at least
hree bytes or more. (Three
bytes would hold amounts up
‘0 $167,772.15).
The program will start with
hree cents (binary 3) and dou-
ble this value nine times.
Each value will be printed on
he screen; you'll see how the
decimal point is inserted.
You may load and run the
BASIC driver program given be-
ow. The full machine lan-
guage code won't be shown;
instead, I'll note highlights.
Our main program is at hex
address 2000; it sets up the
oop to print the ten values.
The loop calls the subroutine
at $200B, which, in turn, calls
the display value subroutine
and then doubles the binary
value at $2100 and $2101
with an ASL (Arithmetic Shift
Left) and ROL (ROtate Left).
The display routine starts at
$2015. Its job is to convert the
binary value into decimal so
that it can be displayed. To do
this, we use a clever proce-
dure involving decimal mode.
An area is set aside to hold the
decimal value, originally 0.
Bits are extracted from the bi-
nary number, one at a time.
The decimal value is doubled
by adding it to itself; the bina-
ry bit is added in automatical-
ly. When you've handled all
the binary bits, the decimal ar-
ea will contain the decimal val-
ue in BCD (Binary Coded Dec-
imal). This coding is worth a
look, if you haven't seen it be-
fore. Note that the binary num-
ber from $2100/1 has been
copied to $2102/3.
0202C OE 03 21 ASL $2103
slow byte
0202F 2E 02 21 ROL $2102
shigh
The highest bit of the binary
value will have been shifted in-
to the Carry flag. If the Carry
flag is set, the add that will
take place soon will have an
extra value of 1 added in.
02032 78 SEI
02033 F8 SED
02034 AD 06 21 LDA $2106
02037 6D 06 21 ADC $2106
0203A 8D 06 21 STA $2106
And it goes on, doubling the
higher byte values at $2105
and $2104 by adding them to
themselves. We'll skip those
instructions and just note that
we must clear decimal mode.
We have locked out the inter-
rupt because some early ma-
chines would get muddled on
their keyboard scan if deci-
mal mode were set.
0204F D8 CLD
02050 58 CLI
The above shift-binary, add-
decimal is repeated 16 times,
once for each bit of the bina-
ry number. Now we have the
decimal digits, packed two to
a byte; all we need to do is to
print them, slipping in a deci-
mal point at the right place.
I've included zero suppres-
sion code; look for it.
Once you understand the
principles involved, fixed
point decimal seems natural.
Use your monitor to snoop
through all the code. Then
you'll be ready to take on a
similar job of your own.
This program will run on
most any 8-bit Commodore
computer. The code begins
at hex address 2000—not the
most convenient location, but
it's an area of memory that's
readily available on most Com-
modore machines.
100 DATA 162,0,32,11,32,232
110 DATA 224,10,208,248,96
120 DATA 32,21,32,14,1,33
130 DATA 46,0,33,96,173,0
140 DATA 33,141,2,33,173
150 DATA 1,33,141,3,33,160,0
160 DATA 140,4,33,140,5,33
170 DATA 140,6,33,14,3,33,46
180 DATA 2,33,120,248,173,6
190 DATA 33,109,6,33,141,6,33
200 DATA 173,5,33,109,5,33
210 DATA 141,5,33,173,4,33
220 DATA 109,4,33,141,4,33
230 DATA 216,88,200,192,16
240 DATA 208,214,169,48,141
250 DATA 2,33,173,4,33,32
260 DATA 123,32,173,5,33,32
270 DATA 123,32,169,46,141
280 DATA 2,33,32,210,255,173
290 DATA 6,33,32,123,32,169
300 DATA 13,32,210,255,96
310 DATA 72,74,74,74,74,32
320 DATA 136,32,104,32
330 DATA 136,32,96,41,15,9
340 DATA 48,205,2,33,240,5
350 DATA 206,2,33,16,2,169
360 DATA 32,32,210,255,96
400 FOR J=8192 TO 8347
410 READ X:T=1+X
420 POKE J,X
430 NEXT J
440 IF T<>12136 THEN STOP
500 REM Need to poke the
initial value of three cents
510 POKE 8448,0:POKE 8449,3
520 SYS 8192 o
NOVEMBER 1991
Working with
fixed point numbers
is simple in
machine language.
All you need
to know is where
the decimal
point should go.
COMPUTE G-19
Even its fans find
geoWrite tough
to love, but here are
ways to make
it almost a pleasure
G-20
GEOS
Steve Vander Ark
GEOWRITING
MADE EASY
(ALMOST)
I'm a fan of geoWrite. The oth-
er day a guy | know called it
geoWrong and proceeded to
bombard me with a rather
daunting list of evidence to
back up his contention. |
didn't listen; | figured that at-
tack was caused by some-
thing disagreeable he ate for
breakfast or the fact his wife
had seen the bill he ran up
last month on Q-Link. | think
geoWrite is wonderful.
Oh, | know—you don't read
this column just to hear me
gush, but | have a real affec-
tion for proportional fonts and
WYSIWYG (What You See Is
What You Get). Since my first
printer (a used Okimate 10)
and my first GEOS package
(1.3) arrived at pretty much
the same time, geoWrite was
really the first word processor
| ever used. Now, I'm used to
the program, and many of us
like what we're used to.
To be fair, my friend's objec-
tions to geoWrite do have mer-
it. It is a bit slow, and it’s
prone to dropping characters
here and there if you really get
cooking at the keyboard.
When it redraws the screen—
which is quite often—it's cer-
tain to miss a few keystrokes.
In 40 columns, the side-to-
side flipping as you cross the
page can frustrate even a con-
firmed geoNut like me.
There are no global settings
available, so if you decide to
change fonts or margins on a
multipage document, you're in
for a rather monotonous proc-
ess. You make the changes,
watch the whole thing refor-
mat itself, and then try to find
the bits of text that slipped
through at the page breaks
with the old formatting. When
that’s finished, you're forced to
print using GEOS fonts, wheth-
COMPUTE NOVEMBER 1991
er or not they're appropriate
for the document in question,
or use the NLQ setting but for-
go any style changes such as
boldface or italic.
All this might convince you
to try amore conventional pro-
gram and avoid the hassles,
but there are some big advan-
tages to a word processor like
geoWrite. For one thing, you
can see what you're doing.
The text appears on the
screen in all the places and in
all the styles that will print on
your finished document. This
makes formatting a breeze,
and since you can preview
your text onscreen, it saves a
good deal of printer time and
Paper as well.
You really appreciate this if
you ever need to create a
page with some unusual spac-
ing and formatting. With a con-
ventional word processor you
might spend the entire eve-
ning trying to get the right com-
bination of cryptic codes in
the right places to make the
whole document look like you
want. But with geoWite, it hap-
pens right there on the moni-
tor’s screen as you type, inden-
tations and all. You hardly
need to print anything until
you are certain that it’s what
you want and perfect.
The fonts you can use are
another benefit of geoWrite.
They range from businesslike
to fun—and they're proportion-
al, as well. As | mentioned in
last month's column, you can
even overcome the blocky
curves and angles inherent to
bitmapped fonts with the right
printer driver.
Screen redraws will still
make geoWrite stumble. You
can overcome most draw-
backs by using only one font
for typing the entire docu-
ment, adding special effects
and other fonts only after the
document's in shape and
ready for the printer. The built-
in font, BSW, works fine for
this, but | like to use a 10- or
12-point font such as LeConte
or University because it's eas-
ier to read on my screen. But
keep to a smaller point size;
the screen redraws only when
it's filled with text, after all.
Side flipping can be eliminat-
ed by setting the margin to
screen width for typing (about
5.2 inches) and then chang-
ing it back to full-page width
for final printout. This is some-
times a trick in itself, as | men-
tioned above, but fortunately
there’s a program available
called Toolkit which makes
global commands a reality for
geoWrite documents.
From the Toolkit menu
screen you can set the mar-
gins for an entire geoWrite
document as well as change
the font and style of all the text
at once. You have to create a
text scrap containing the de-
sired ruler settings and/or
font. This can be a little tricky
at first, but once you get that
down, you'll find Toolkit to be
invaluable and easy to use. If
you need to combine several
geoWrite files into one longer
document, you can use Com-
biner, a utility which very neat-
ly does just that.
There's even an answer to
the NLQ problems. A desk ac-
cessory called Text Print will
print out a geoWrite document
using the built-in NLQ font of
your printer with all the italic,
underlining, and boldface you
could want. A companion pro-
gram, Custom Print, must be
used to customize a copy of
Text Printto your printer's spe-
cific control codes.
One other feature which
geoWrite lacks is a word count-
er. With geoSpell you find out
at the very end how many
words you have, but there’s no
way to find that information with-
out first going through the en-
tire spelling-checker process.
There are several utilities avail-
able to provide a word count
with the click of the mouse. In
the January 1988 issue of COM-
PUTE!'s Gazette, there was a type-in pro-
gram called Word Count by Shawn
Smith which will fit the bill. Back issues
and disks are still available from COM-
PUTE Publications at the Greensboro,
North Carolina, office.
Several writing analyzers are avail-
able as public domain or shareware.
Blue Pencil, one of the fine utilities from
Student Software, will keep track of the
number of words you've used of differ-
ent lengths, as well as how many
words you average per paragraph or
sentence. Another, called Copy Editor,
even makes a judgment as to the dif-
ficulty (grade level) of your prose. This
helps you tailor your writing to your audi-
ence. Look for these on Q-Link or BBS
Post, (616) 531-1346.
All this aside, there is something de-
lightful about just watching all those
great GEOS fonts trip across the
screen in geoWrite. Let's face it, | think
most people will agree that fonts are
3-D GRAPHICS DESIGN
x Voted Best Graphics Program
—Run Magazine 1988
For Commodore 64/128 in 64 mode
View Designs in Multiple Perspectives
CAD-3D" enter me into the fastest growing field in
graphic technology. At a special introductory price
$53.95. Add $4.00 for shipping and handling, for
C.0.D. add an additional $4.00, (California resi-
dents please include 6% sales tax).
Professional-Educational-Home Applications
Architects, Engineers, Designers,
Programmers, Students
.
iht Software
2269 CHESTNUT STREET
SUITE 162
SAN FRANCISCO, CA 94123
ORDER LINE * (415) 923-1081
FAX © (415) 923-1084
Dealers/Distributors inquiries welcomed.
Circle Reader Service Number 177
one of the best things about GEOS. It
takes a graphics-based, WYSIWYG
word processor like geoWrite to do
them justice. In turn, they can make
your routine word processing into full-
fledged desktop publishing!
In the last column | mentioned sev-
eral printer drivers which do a good job
of smoothing out the jaggies that
plague printouts of bitmapped images.
Susan Lamb, a graphic artist whose ef-
forts with GEOS will be featured in next
month's column, put me onto a great driv-
er for those of you have 24-pin printers
and, like me, are disappointed in the hap-
hazard way GEOS supports them. It’s
called EPSON24pin90dpi. It's available
on QuantumLink and on BBS Post. It cre-
ates a somewhat shortened printout in
geoPublish, but the quality is aston-
ishing. If you have an Epson-compatible
24-pin printer, this file is a must! a
FUNctional
Weekend
Projects for
C-64 Ultra-Users!
* Automotive Duell/Tach Diagnostics
Program with Interface Schematics $3.00
* Home Sentry - Residential Security
On Disk with Interface Schematics $20.00
Send Check or Money Order to:
CREATIVE SPECIALTIES
P. O. Box 7361
Richmond, VA 25221
+ Allow 3-4 Weeks for Delivery «
Circle Reader Service Number 125
COMPUTE’s
SpeedScript Disk
A powerful word processing
package for Commodore 64
and 128 owners
A Great Deal for Commodore
Users!
* SpeedScript for the 64
yes! Send me
| SpeedScript Disk.
copies of COMPUTE's
I've enclosed $11.95 plus $2.00 postage and handling. (Outside
U.S. and Canada add $1.00 for surface mail or $3.00 for
| airmail.)
| ORDER NOW!
¢ SpeedScript 128—80-column version
* Spelling checkers
* Mail merge
* Date-and-time stamp
* 80-column preview for the 64
* Turbo save and load
* Plus more than a dozen other SpeedScript
support utilities all on one disk (including
full documentation)
Amount
Sales Tax"
Total
State
Mail personal check or money order to
Commodore SpeedScript Disk
324 W. Wendover Ave., Ste. 200
Greensboro, NC 27408
Residents of North Carolina and New York, add appropriate tax for your area. Canadian
orders, add 7% good and services tax.
Please allow 4-6 weeks for delivery. Program available only on 5%-inch disks.
NOVEMBER 1991 COMPUTE G-21
G-22
Smile,
America! Home
movies are
out; video news
is in.
D'IVERSIONS
Fred D'lgnazio
LIVE, REALITY
TELEVISION
| woke up this morning, wan-
dered into the kitchen, and
found a poppyseed muffin. Af-
ter | had popped the muffin in-
to the microwave, | clicked on
the tea kettle and switched on
the TV. Suddenly | was watch-
ing three astronauts floating
live around the Atlantis space
shuttle, going 20,000 miles
per hour in zero gravity, hun-
dreds of miles above the sur-
face of the earth.
One male astronaut was
stripped to the waist and
wired up like a cardiac pa-
tient. He was reading a book
and taking swigs of salt water
from a plastic bottle. Another
man floated around sideways,
in shorts and white socks, eat-
ing a tortilla. And the third, a
tired-looking female, was oper-
ating the shuttle's on-board
camcorder that was taking
these live TV pictures. The fe-
male astronaut was only inch-
es in front of the camcorder
lens. | felt as if she and her shut-
tle companions were with me
in my kitchen. It seemed al-
most rude not to offer her a
bite of my poppyseed muffin.
Welcome to live, reality TV!
More than 15 million Ameri-
cans have camcorders, and
more than 70 million have
VCRs. TV cameras, VCRs,
and TV screens showing elec-
tronic live and prerecorded im-
ages are everywhere: in depart-
ment stores, in boutiques, in-
side bank teller machines,
and hanging from tree branch-
es on our state and federal
roads and highways.
In Michigan, where | live,
we motorists have become
more cautious in recent
weeks about our driving. That
is because the state police
have installed strings of video
robocops in trees and bushes
along several of the state's
highways. Each high-tech ro-
COMPUTE NOVEMBER 1991
bot policeman is composed of
a video camera, computer, ra-
dio, and radar. When a speed-
ing motorist zooms by, the hid-
den robot cameraman snaps
a picture of the motorist's li-
cense plate, records the mo-
torist's speed, and transmits
the information to a central
computer that mails the motor-
ist a speeding ticket along
with a snapshot that shows
him whizzing by.
Several states are consider-
ing installing similar video-
monitoring systems in peo-
ple’s homes to keep track of
alcohol consumption by motor-
ists who have been convicted
of driving while intoxicated.
The system is used during the
period the person is on parole
for his conviction. It is over-
seen by acentral computer in
a local police station.
The computer calls the per-
son at random intervals via the
local telephone system. The
person walks up to the alcohol
sensor and breathes into it,
while the computer monitors
the person's movements on a
video camera. The computer
instantly analyzes the person's
movements and his or her
breath. If alcohol is detected
in the person's breath or his
movements are especially er-
ratic, the computer places a
call to a police officer who rac-
es to the person's home and
puts the offender under arrest.
Have you watched TV
news lately? Have you noticed
that the shots are filled with dra-
ma, real-life grit, glory, and
gore? But they're also a tad jig-
gly, fuzzy, and abrupt, as if
shot by a news cameraman
who's got the heebie-jeebies.
The video footage you are
watching has been shot by am-
ateurs, like you and me. It's
now an in thing even for net-
work news programs and
CNN to show amateur video
on the air, especially if it cap-
tures a sensational news story
as it's happening.
So you can forget videotap-
ing birthday parties, family va-
cations, and holidays. Home
movies are out; video news is
in. Now you can become a
combination sleuth, CIA
agent, and high-tech snoop,
all by keeping your eyes open
and carrying your trusty video
camera at your side, And you
can make money, too.
Thousands of your friends
and neighbors are doing like-
wise, and when they get vid-
eo footage that seems hot,
they bypass the local law en-
forcement officials and send it
right to their local TV stations
or even to New York, Washing-
ton, or Atlanta, to get it on na-
tional TV. Police watch TV
more carefully these days.
They know they might learn
about a crime for the first time
by seeing it on TV.
We are entering a video
goldfish bowl. Camcorders
are shrinking, getting more
powerful zoom lenses, and
dropping in price. Soon they'll
be as ubiquitous as the
Kodak Brownie or Instamatic.
People will carry them wherev-
er they go, aiming them at eve-
rything and everyone.
Life will be a video arena
with everyone grabbing video
slices of everyone else's life,
in the hope that they can sell
them for a few dollars to the
evening news or programs pat-
terned after the phenomenally
successful “America’s Funni-
est Horne Videos.”
You'd better watch out. The
next time you slip down the
porch stairs in front of your
home or yell at your kids or
drive above the speed limit,
someone might capture that
act on videotape and send
you a ticket. Or maybe you'll
see yourself on the evening
news or a national comedy
show. Your misfortunes could
gladden the hearts of millions
of viewers. It may feel like vid-
eo martyrdom to you, but it’s
just live, reality TV! o
BEGINNER BASIC
Larry Cotton
MY FAVORITE
BASIC KEYWORD
| don'tordinarily go around una-
bashedly touting a particular
BASIC keyword, but RND is
one | get excited about.
RND creates unpredictable
havoc out of order—that's why
like it! Let’s see if you can
share some of my enthusiasm
for this very useful function.
RND creates a virtually ran-
dom number for use in
games, music, graphics, and
so forth. However, to generate
he first random number, the
unction depends on a nonran-
dom seed, or starting number,
hat is automatically loaded in-
‘0 certain memory registers
when the 64 is turned on.
To make the seed as ran-
dom as possible, use the com-
puter's internal clock (Tl) as
he argument and convert it to
a negative value. The argu-
meni is a number inside the
parentheses following RND.
The best way to see RND in ac-
tion is by example.
10 X=RND(-TI)
20 FORT=1T05:PRINTRND(1):
NEXT
After you run it, you should
see five nonrepeating num-
bers between 0 and 1. Any
positive number can be substi-
tuted for the 1, with similar re-
sults. Now enter and run this:
10 X=RND(-TI)
20 FORT=1T05:PRINT2*RND
(1):NEXT
You will now see five num-
bers between 0 and 2. We
can truncate these numbers
by adding the INT function.
10 X=RND(-Tl)
20 FORT=1T05:PRINTINT(2*
RND(1)):NEXT
Be sure to use two opening
and two closing parentheses.
How about random choices
of two things, such as Yes
and No for a Ouija board?
Here's a way to do just that, us-
ing BASIC’s ON and GOTO.
10 X=RND(-TI)
20 X=INT(2*RND(1))
30 ONX+1G0T0100,110
100 PRINT“ YES”:END
410 PRINT“NO”:END
Run this program a few times
and observe the results. Re-
call that ON and GOTO can
control the flow of a BASIC pro-
gram, so if X=0, then X+1=1,
and control goes to line 100.
If X=1, then X+1=2, and con-
trol jumps to line 110. To add
a third alternative:
10 X=RND(-TI)
20 X=INT(3*RND(1))
30 ONX+1G0TO100,110,120
100 PRINT" YES”:END
110 PRINT“NO”:END
120 PRINT“ MAYBE”:END
To increase the range,
change 3 to another number.
Again, using ON and
GOTO, you can create a high-
er percentage of a particular
response, thereby tilting the
odds one way or another.
10 X=RND(-TI)
20 PRINTCHRS(147):POKE214,
10:PRINT
30 X=INT(5*RND(1))+1
40 ONXGOTO50,50,50,60,60
50 PRINT“ODD”:GOTO70
60 PRINT“EVEN”
70 GETAS:IFAS="' "THEN70
80 GOTO20
Run this program; then touch
any key to run it again. In line
30 we add 1 to the randomly
generated number to yield
numbers from 1 to 5, inclu-
sive. If X is 1, 2, or 3, then
line 50 will be the target
GOTO line. If X is 4 or 5, line
60 will be chosen. The comput-
er will seem randomly to
choose between odd and
even yet will pick, on aver-
age, three odds for every two
evens. Shades of Las Vegas!
Speaking of Las Vegas,
here’s a short program to sim-
ulate rolling one die:
10 X=RND(-TI)
20 PRINTCHRS(147)
30 X=INT(6*RND(1))+1
40 PRINTX
50 GETAS:IFAS="' "THEN50
60 GOTO30
A random number from 1 to 6
will be generated. Press any
key to see another, or hold a
key down to see a string of
rolls. Now, what else can be
done with this function?
RND can also produce inter-
esting, if not beautiful, music.
Enter this short program:
10 X=RND(-Tl)
20 FORT=54272T054295:
POKET,0:NEXT
30 POKE5S4296,15
40 POKES4278,255
50 POKES4276,33
60 FORT=1T0500:NEXT
70 POKES4273,INT(100*RND
(1))+10
80 FORT=1T0100:NEXT
90 GOTO70
Line 20 clears the sound
chip, line 30 turns up the vol-
ume, and line 40 sets sustain
and release to maximum (at-
tack and decay default to 0).
Line 50 turns on the sawtooth
waveform, and line 60 cre-
ates a short pause.
Line 70 pokes a random fre-
quency from 10 through 100 in-
to voice 1’s main frequency
register. Line 80 allows the se-
lected tone to sound a mo-
ment; then line 90 returns con-
trol to line 70, which gener-
ates another (probably differ-
ent) random frequency and
pokes it to the frequency reg-
ister again. Press the Run/
Stop key to halt the program.
Now experiment. Change
lines 60 and 70 so that tone
lengths and pitches, respec-
tively, are also random. ia)
NOVEMBER 1991
RND seemingly
Sets the precise world
of computing awry,
creating unpredictable
havoc out of order.
COMPUTE
G-23
As flood waters
threaten to
engulf you, this short
program for the
64 is your only hope
G24
for survival.
PROGRAMMER’S PAGE
Randy Thompson
HOW OLD ROMS
THWART FLOODS
An empty screen is all | saw
when | first ran Flood, the
game with the surprisingly
short listing located at the end
of this page. After 20 seconds
of blank blue, however, |
decided something was
wrong with this submission.
Trusting that author Geza
Lucz of La Jolla, California,
wouldn't send me a game
with no visible graphics, | hit
Run/Stop and typed LIST to
diagnose the problem. It turns
out the problem was simple,
and one I've dealt with before.
You see, | have a very old
64, | bought this machine
back when a blank bright
blue computer-generated
screen seemed impressive.
Anyway, if you own one of
these elderly computers, then
you know that the ROMs
housed within it handle
screen color memory different-
ly from 128s and late model
64s.
By default, color memory
on an old 64 is set to the text's
background color instead of
its foreground color. This
means that if you poke a char-
acter into screen memory, it
won't appear unless you also
poke a nonbackground color
into the corresponding color
memory location. So all the
characters that Flood was la-
boriously poking across my
screen might as well have
been spaces, since they adopt-
ed the same color as the rest
of the screen.
The most obvious solution
to this problem is to add a
POKE to color memory for eve-
ry POKE to screen memory.
This would slow down the
game, however. A better solu-
tion is to do as the new 64
ROMs do—preset all of color
memory to the foreground col-
or so that any POKE to screen
memory produces visible re-
COMPUTE NOVEMBER 1991
sults. This can be achieved
with the loop FOR 1=55296 TO
56295: POKE |, color: NEXT
strategically placed at the be-
ginning of the program.
But there's an even easier
way—one that takes advan-
tage of the way old 64s fill
screen memory with the cur-
rent background color when-
ever the screen is cleared.
Take a look at this.
POKE 53281,14:PRINT
CHRS$(147):POKE 53281,6
The first POKE sets the
screen's background color to
the color that we want our
game's characters to appear
in. Next, the PRINT
CHR$(147) clears the
screen, forcing the computer
to fill color memory with the
current background color
(which, unbeknownst to the
computer, is actually our de-
sired foreground color). Final-
ly, the last POKE sets the
screen's background color
back to normal. Now a POKE
to screen memory results ina
visible character, no matter
how young or how old your
64. You can see this code add-
ed to line 100 of the Flood pro-
gram described below.
With the game graphics
working, | found Flood to be
quite entertaining. It's also a
good example of what you
can do with standard Commo-
dore characters and direct ac-
cess to screen memory.
The object of the game is
to contain a spreading body
of water (represented by a
growing group of asterisks)
by building flood walls. Your
score is determined by how
quickly and effectively you
accomplish this task.
Your onscreen persona ap-
pears as a square checker-
board that moves about the
screen via the cursor keys. To
build a flood wall where you
stand, hit Return. Be careful
that you don't wall yourself in,
since nothing—not even your
stylish square body—can
scale the sturdy walls. So
have fun and good luck.
Send your programming tips
and tricks to Programmer's
Page, COMPUTE’s Gazette,
324 West Wendover Avenue,
Suite 200, Greensboro, North
Carolina 27408. We pay $25-
$50 for each tip we use. O
PROGRAMS
RAMDRIVE 64
By Hong Pham
How would you like to have another
disk drive that lets you access pro-
grams and files almost instantly? That's
what you get with Ramarive 64.
This program adds a virtual RAM
drive to your 64. With information
stored in memory, it doesn’t have to ac-
cess a mechanical disk drive. Programs
load and save extremely fast. A 70-
block program can load in less than
four seconds.
What's more, Ramadrive does not use
any BASIC memory. Instead, it uses the
RAM under BASIC and Kernal ROM
($A000-$BFFF and $DO00-$FFFF) to
store files. That's about 80 blocks: 77
blocks to store data and 3 for the block
availability map and directory.
Getting Started
Ramadrive is written entirely in machine
language. To enter the program, use
MLX, our machine language entry pro-
gram. When MLX prompts you, re-
spond with the following values.
Starting address: 7D00
Ending address: 86CF
When you have finished typing in
Ramadrive, be sure to save it to a work
disk under the name RAMDRIVE.OBJ
because Relocator, a companion pro-
gram mentioned below, searches for
that name. To use Ramadrive, load it
with LOAD “RAMDRIVE.OBJ",8,1 and
then type SYS 32000, or whatever ad-
dress you may have relocated it to.
Different Device
Ramdrive acts like any other storage de-
vice, such as a 1541 disk drive. That
means you can load and save to it as
if you were using an external disk
drive. Like any device, Ramdrive has
its own device number. The default de-
vice number is 7.
To save to the RAM drive, use the
standard SAVE command. For exam-
ple, SAVE “filename’,7 with filename be-
ing the name of your file. A maximum
of 77 blocks or a total of 30 files can
be saved to the RAM drive. To load
from the RAM drive, use LOAD “file-
name”,7. Wildcard scans are allowed
in a load operation. An asterisk (*) will
either load the first file on the directory
or the first file with the matching char-
acter pattern preceding the asterisk. A
question mark (?) can be used to re-
place an unknown character. Remem-
ber that information saved to a RAM
drive is not permanent. It's lost once
the computer is turned off. So be sure
to save any alterations you may have
made and want to keep to a disk be-
fore you turn off your computer.
RAM Drive Commands
Any device without a good BASIC inter-
face would be clumsy and awkward to
use. Ramdrive 64 adds eight new BA-
SIC commands to make accessing da-
ta and programs easier.
BLOAD “‘filename”, device number, starting
address
Load a binary file from a device and
put it at a specified location in memo-
ry. Unlike the standard LOAD com-
mand, BLOAD does not corrupt BASIC
pointers and reruns any BASIC pro-
gram already in memory.
BSAVE ‘‘filename”, device number, starting
address, ending address
Save a binary file to a device from a
specified memory location.
Display the RAM drive directory with
RDIR. Unlike in the disk directory dis-
play, the file length and the free RAM
space are displayed in bytes. LOAD
“$"\7 has the same effect as RDIR.
ERASE “‘filename”
Use this command to erase a file from
the RAM drive. As with the LOAD com-
mand, wildcard scans are allowed in
ERASE. To erase all the files in the di-
rectory, use ERASE “*”.
DEVICE 0-255
Change the RAM drive device number
with this command. Any number be-
tween 0 and 255 can be used, but the
default RAM drive device number is 7.
If you forget what number you assign
to the device, enter DEVICE without an
argument, and Ramadrive will display
the current RAM drive device number.
INIT
This command will initialize the RAM
drive, Unlike ERASE “*”, INIT clears eve-
rything: both the block availability map
and the directory. On activation,
Ramarive initializes itself. If you acciden-
tally disable the program and don't
want to initialize the RAM drive itself,
use SYS 32003 or SYS whatever ad-
dress you choose, and add 3 to it.
VALIDATE
Validate the RAM drive. Although
Ramdrive validates after every unsuc-
cessful SAVE, use VALIDATE to fix the
directory if you have problems.
DISABLE
Use this command to disable
Ramadrive. SYS 65418 normally re-
stores vectors, but it will not disable
Ramdrive, nor will Run/Stop-Restore be-
cause the load and save vectors are
fixed whenever a BASIC command is
used. The previous load, save, and BA-
SIC system vectors are restored when
Ramarive is disabled.
Although these next two features
were originally debugging tools, |
thought them too good to leave out. To
warm reset the system, hit the space
bar and Restore key simultaneously.
The Run/Stop key is disabled. To reset
the system to the power-up state,
press the Back Arrow and Restore
keys simultaneously. This routine is a
handy debugging tool if you don't
have a reset switch and your comput-
er is too corrupt to warm start.
Relocate
Because there is no definite safe mem-
ory location in the 64, a conflict for the
same memory could result between
Ramdrive and another program.
Where Aamarive is situated, it is safe
from programs such as Metabasic, Bas-
sem, and Micromon, but lengthy BA-
SIC programs or strings could over-
write Ramdrive.
Relocator solves this potential prob-
lem by relocating Ramdrive to another
location anywhere in memory. Once
NOVEMBER 1991 COMPUTE G-25
PROGRAMS
again, enter this program with MLX
with the following prompts and be
sure to save a copy.
Starting address: 0801
Ending address: OFB8
Relocator loads and runs like a BASIC
program. Once the file has been load-
ed, type RUN. When Relocator
prompts for the new starting address
for Ramadrive, enter the address in hex-
adecimal. If you don't have a good sci-
entific calculator handy to convert dec-
imal to hexadecimal, the following pro-
gram may help.
PE 10 H$ = 0123456789ABCDEF”: B = 16:
B1 = 2B
FP 20 INPUT “ENTER DECIMAL VALUE”;N: IF
ABS(N)>B1-1 THEN 20
PP 30 NS = "'": IFN<O THEN N = B1+N
FF 40 FOR | = 1 TO B/4:T = N-(INT(N/16)*16):
NG = MIDS(HS,T+1,1)+NS:N = NAG
CG 50 NEXT: PRINTNS
After Relocator relocates Ramarive, in-
sert a work disk to save the relocated
version of Ramdrive. If the save is suc-
cessful, you may exit to BASIC or relo-
cate another copy of Ramarive. Be
sure to remember your new starting ad-
dress and to add 3 to it when you
want to run it.
RAMDRIVE 64
81
81
13
68
26
1E
34
Ol
FO
12
26
EA
FE
E8
AG
26
8E
99
7D
12
AA
El
D8
48
68
84
8D
ES
84
AQ
G6
8A
EF
ED
81
26
AG
D8
26
8c
58
26
8D
FF
E4
26
A4
63
85
F9
7A
85
26
FA
26
Ag
BF
26
48
FO
F6
PE.
84
4c
E8
A3
FD
6C
EF
SP
4c
81
73
2E
4c
cs
EG
A6
Ag
62
22
BB
26
D6
3c
P4
AQ
07
97
81
72
DE
TE
2A
71
D6
E5
93
F4
4F
91
cg
67
79
B3
49
7D8G: 26
7DG8:84
7D10:8E
7D18:84
7D26:AG
7D28:85
7D30:84
7038348
7D46:C9
7D48:15
7D50:8A
7D58:EA
7D6G:7D
7D68:95
7D76:A2
7D78:15
7D86:AG
7D88:78
7D90:8E
7D98:7D
7DAG:A8
7DA8: 20
7DBG: 2B
7DB8:7E
7DCG:EG
7DC8:28 6C GG
7DDG@:8D 62 85
COMPUTE NOVEMBER 1991
FS
ag
FB
A2
85
26
4c
AD
FD
26
FF
EA
A2
62
Ul)
FD
48
AQ
68
26
68
D4
26
g8
65
1D
85
E3
6C
78
Da
AG
5B
95
A2
68
85
68
A6
FF
AD
28
63
8E
G-26
F3 84
7DD8:8D
61 85
94
26
4c
FF
26
85
AS
4c
6c
7E28:8D
7E30:34
7E38:4C
7E46:26
7E48:B7
7E56:26
7E58:06
7E60:46
7E68:28
33
7E
3D
57
Ag
28
20
85
Bo
7E
4c
7E
E2
OF
85
A2
F@
G2
BD
FF
7A
BD
ao
c3
98
28
CE
7E88:85
TEQG:AF
7E98:16
7EAG:A9
c2
26
83
26
EA
4c
85
4c
7E
84
5c
26
7EE8: 46
7EFG:A9
7EF8:19
7FG6:8D
7EO8:8¢0
7F16:33
7F18:8D
7F20:7F
7F28:61
7E30:AB
7E38:GF
7F46:13
TE48:A9
TE5SG:AG
7E58:BG
7F60:6B
7F68:20
TE76:A5
7E78:93
7F86:29
7F88:A2
7F9G:24
7F98:84
7FAG:3B
7FA8:64
7EBG: 26
7FB8:85
7ECG:82
7EC8:26
7ED@:B9
7ED8:85
7FEG:85
7FE8:86
TEFO:FE
7EF8:EE
896G:26
85
47
63
36
AE
03
68
AE
63
4c
EG
E@
93
86
G4
84
1E
BA
4c
AF
68
Dao
4c
82
6a
3B
96
8D
cs
Fo
E8
4c
29
Dd
65
97
26
A2
AD
63
49
AD
63
47
ag
3B
42
44
AG
BO
AQ
AQ
AB
cD
EF
FS
66
69
16
26
20
82
8D
FO
82
wit
26
E8
84
1F
86
82
85
8D
ae
31
8D
7E
99
8D
AG
38
1l
15
BO
ag
AG
26
65
85
AS
B7
oo
D2
26
81
FS
c7
82
E8
65
cs
82
A6
A2
8E
cs
EG
4c
18
AE
83
32
AE
63
6G
86
E@
E@
4c
16
AE
86
D2
a4
FO
93
16
Bl
FS
E4
96
26
82
AA
A8
86
82
98
c3
63
cé6
82
FF
8908:2G
8910:2A
8918:91
802G:A9
8628:26
8930:E8
8638:05
8040:A5
8048:FF
8950:04
8058:20
8969:A5
8968:96
8070:8G
8678:42
8080:C9
8688:C9
8690:82
8098:A9
86AG:C8
89A8:4C
86BG:FD
86B8:27
86CG:ES
86C8:27
86DG:AG
80D8:2A
8GEG:DG
8GE8:38
8GFG:AD
8OF8:A5
8100:C2
8108:85
8116:D9d
8118:18
18
21
97
c7
FO
E8
95
46
8F
68
BO
cg
FO
EG
82
G8
o5
c8
16
26
48
66
80
5E
E5
27
84
SE
91
91
29
26
cl
11
81
8148:28
8156:D8
8158:85
8160:9D
8168:FD
8176:06
8178:2F
8186:A9
8188:5E
8199:97
8198:B3
81AG:D8
81A8:26
91
B7
Cr)
38
85
85
85
29
E8
SE
29
B7
96
81F8:9D
8200:FE
9D
F4
8228:BG
8236:26
82
8A
8238:69 AF 69 20 C9 82 A2 GG 89 | 8468:DH FA 60 AY BD 4C D2 FF 7E | 8698:45 58 49 53 54 53 GO 44 FO
8240:AG GG Bl BB C9 2A FO 24 B4 | 8470:20 E4 81 AD GO 8D 47 85 D7 | 86AG:49 52 45 43 54 4F 52 59 Al
8248:C9 3F FG 04 Dl 27 DG GF 3C | 8478:8D 48 85 26 3B 82 BG B9 5B | 86A8:2G6 46 55 4C 4C OG 52 41 GF
8250:C8 C4 B7 99 ED CO 14 FG GE | 8480:AG 11 AY GG 91 27 EE 48 A2 | 86BG:4D 44 52 49 56 45 28 46 A2
8258:13 Bl 27 C9 AG FG OD EB AG | 8488:85 26 8G 82 EE 47 85 AD El | 86B8:55 4C 4C GB 49 4C 4C 45 66
8260:EG 1F FG G6 20 8G 82 4C 70 | 8499:47 85 C9 1E DG ES 2G D2 EA | 86CG:47 41 4C 28 46 49 4c 45 82
8268:48 82 38 60 AG 11 Bl 27 GF | 8498:82 20 EF 81 20 6B 84 AQ 62 | 86C8:4E 41 4D 45 GB OG OG OB 4B
8270:FG ED 36 EB 18 88 Bl 27 9B | 84A0:00 AE 48 85 26 CD BD AQ 14
8278:48 AG 12 Bl 27 A8 68 66 34 | 84A8:51 AG 86 4C 1E AB AD 30 43
8280:18 A5 27 69 14 85 27 96 GC | 84B0:03 AE 31 G3 8D 7A 7F 8E 21
8288:02 E6 28 66 A2 4C BD 5G 65 | 84B8:7B 7F AD 32 G3 AE 33 G3 74 | RELOCATOR
8290:FD FG GB CA 10 F8 38 E6 9A | 84CG:8D 48 80 BE 49 8G AD G8 4B
8298:29 DG G2 E6 2A 6G 26 2E 56 | 84C8:G3 AE G9 G3 8D 3E 7E BE 41 | 6861:0E G8 C7 G7 9E 26 28 32 7B
82AG:82 18 66 A2 43 8E 48 85 8D | 84D0:3F 7E AD OG G3 AE G1 G3 AG | 6809:30 36 34 29 GO BG GB 78 5B
82A8:26 D2 82 AE 48 85 38 26 96 | 84D8:8D 46 7F 8E 47 7F 60 AY BS | G811:A2 FF 9A 26 A3 FD 26 15 32
82BG:EF 81 69 B9 FF FF 60 18 8£ | 84E@:CC A2 7D 8D 68 63 8E G9 F3 | 6819:FD 28 5B FF 58 A9 @5 20 2F
82B8:98 6D B4 82 8D B4 82 96 F8 | 84E8:63 AY 34 A2 7F 8D GO G3 C3 | 6821:D2 FF AY 93 20 D2 FF AQ FE
82CG:03 EE BS 82 60 BD FF FF DB | 84F@:8E G1 63 AQ 34 A2 7D 8D 31 | 6829:00 26 90 FF AY 86 8D 26 F3
82C8:6 A9 AG A2 FD 85 27 86 81 | 84F8:18 G3 BE 19 G3 AI GE A2 76 | G831:DG 8D 21 DG A2 G2 AG BA AG
82DG:28 60 26 C9 82 26 64 82 Cl | 8560:7F 8D 30 G3 BE 31 G3 AD 4D | G839:18 20 FO FF A9 OF 8D 86 AG
82D8:A2 GG 8E 47 85 AG 11 Bl F7 | 8508:40 A2 80 8D 32 63 8E 33 B2 | 6841:02 AO AF 26 GD BD A2 BA 21
82EG:27 FO 22 36 20 88 Bl 27 AA | 8510:03 60 AY 9F A2 7D 8D SF 69 | 6849:AG GE 20 26 BD 26 15 BD 53
82E8:8D FC 82 48 A9 60 8D FB 2D | 8518:7D 8E 6G 7D 60 AD 62 85 6D | G851:A9 GB 8D 86 G2 A B7 20 59
82FG:82 68 26 16 82 A9 G1 9D BG | 8529:85 7A AD 63 85 85 7B 6G 12 | 6859:GD GD 18 AG G2 A2 G6 26 G7
82F8:50 FD AD FF FF 8D FC 82 GE | 8528:20 GE E2 20 8A AD 4C F7 CO | 6861:FO FF A2 A4 AG GE 20 26 26
8300:FG G3 4C F2 82 EE 47 85 DC | 8530:B7 206 6B 84 A9 E9 AG 85 9B | 6869:0D 18 AB GB A2 O9 20 FO 84
8308:AD 47 85 C9 1E DO CE 6 37 | 8538:20 1E AB AQ GO AE 46 85 B7 | 6871:FF AD 69 GE F@ G3 4C DF G7
8310:26 6B 84 A2 63 20 62 84 9E | 8549:20 CD BD 4C 6B 84 07 GG C6 | G879:08 A2 C9 AG BE 26 26 OD B7
8318:A9 64 AG 86 20 1E AB 26 62 | 8548:60 GB GB BG GB GB GB GO 53 | G881:AG G4 A2 GA 18 26 FO FF FA
8320:6B 84 AI 12 26 D2 FF A2 43 | 8556:00 GG GB GO BB GO BO BO 5B | G889:A2 F3 AG GE 26 26 GD 26 98
8328:04 20 62 84 AO 43 AG 86 EF | 8558:08 BB GB GB GO GO BB BO 63 | 6891:34 BD 20 34 OD 26 E4 FF FB
8330:26 1E AB A2 69 20 62 84 86 | 8560:00 GB GB BGO 42 93 OG 42 GE | 6899:FG FB A2 13 AG OF 20 26 48
8338:A9 4C AG 86 206 1E AB A2 17 | 8568:94 OB 52 44 49 52 OG 52 32 | GBA1:0D AO G5 AG BA AG FF 20 26
8340:04 20 62 84 20 6B 84 26 BD | 8570:D6 OG 49 4E 49 54 OG 45 DS | G8A9:BA FF A9 16 A2 6A AG GE 5B
8348:E4 81 26 C9 82 A9 GG 8D GOB | 8578:52 41 53 45 BB C5 49 44 AQ | G8B1:2G BD FF AO GG 26 D5 FF G8
8350:48 85 8D 61 85 AG 6G Bl G5 | 8580:41 54 45 BG 44 49 53 41 19 | 68B9:20 B7 FF 29 OF FG 1F A2 77
8358:27 99 49 85 C8 CO 14 DG 1D | 8588:42 4C 45 BG 44 45 56 49 9D | G8C1:21 AG GF 26 26 OD A2 39 22
8360:F6 AG 11 B9 49 85 FG 35 46 | 8596:43 45 GG GG 40 7E 76 7E EQ | G8C9:AG GF 20 26 GD 20 E4 FF AG
8368:30 33 26 EF 81 BE 61 85 67 | 8598:97 7E 97 7E 9D 7E AA 7E A4 | G8D1:C9 59 FG 07 C9 4E DG FS CA
8370:A2 GO BD 49 85 26 D2 FF 67 | 85A0:CF 7E FO 7E DB 7E 43 36 CE | 68D9:6C FC FF 4C 10 98 A9 G1 19
8378:E8 EG 16 DG F5 AY 2G 26 Fl | 85A8:34 26 52 41 4D 2D 44 52 2E | G8E1:8D 69 GE A2 4A AG GE 20 12
8380:D2 FF AD 5B 85 AE SC 85 81 | 85BG:49 56 45 20 49 4B 53 54 1F | G8E9:20 GD AD BG BD A2 GD 85 19
8388:26 FA 83 A9 1C AG 86 26 FO | 85B8:41 4c 4C 45 44 GD GG GD BB | GBF1:CC AY G1 8D 86 G2 28 E4 2D
8390:1E AB 26 6B 84 26 El FF B4 | 85CG:26 20 43 4F 50 59 52 49 17 | G8F9:FF FG FB C9 GD FG 21 C9 9A
8398:FG 13 26 E4 81 26 80 82 3F | 85C8:47 48 54 28 31 39 39 31 28 | G9G1:14 FG GBD A2 GF DD 7A BE 18
83AG:EE 48 85 AD 48 85 C9 1E C6 | 85DG:20 42 59 28 48 4F 4E 47 OD | G9G9:FG 20 CA 16 FB 4C F7 G8 E6
83A8:FG G3 4C 55 83 26 EF 81 C5 | 85D8:20 50 48 41 4D 26 2F 56 C4 | G911:AD A2 OD FO El AY 14 20 51
83BG:26 6B 84 A9 26 26 D2 FF F4 | 85EG:39 31 30 37 31 32 @D GD C7 | G919:D2 FF CE A2 GD 4C F7 68 2A
83B8:AE 61 85 A9 GO 26 CD BD 94 | 85E8:80 52 41 4D 44 52 49 56 D9 | G921:AD A2 BD C9 O4 9G CF 4C 3F
83CG:A9 2B AG 86 206 1E AB 20 D4 | 85FG:45 20 44 45 56 49 43 45 27 | G929:4C G9 AE A2 GD 9D A3 GBD DE
83C8:E4 81 A9 GG 8D 61 85 A2 77 | 85F8:26 4B 55 4D 42 45 52 20 13 | 6931:20 D2 FF BE A2 GD AD A2 3E
83D0:4C BD 58 FD D@ G3 EE 61 29 | 8600:49 53 206 GG 43 36 34 20 G6 | 6939:0D C9 B4 DO BO 2G E4 FF ES
83D8:85 CA 16 F5 26 EF 81 A9 24 | 8608:52 41 4D 44 52 49 56 45 26 | 6941:C9 14 F® CC C9 OD FO DB 65
83E0:20 20 D2 FF AD 61 85 A2 FA | 8610:26 44 49 52 45 43 54 4F BB | 6949:4C 3E G9 AD G1 85 CC AD 2E
83E8:06 20 CD BD A9 1C AG 86 13 | 8618:52 59 BD GB 2G 42 59 54 57 | G951:2G 20 D2 FF AE A3 GD AC AG
83F0:26 1E AB A9 23 AG 86 4C 94 9959:A4 BD 26 39 BD 8D 99 OD 77
83F8:1E AB 8D 57 85 8E 58 85 BD 0961:AE A5 @D AC AG GD 26 39 83
8400:A9 6G 8D 59 85 8D 5A 85 Cl 9969:GD 8D 98 GD 26 34 BD A2 D7
8408:8D 5B 85 8D 5C 85 A2 GF 85 G971:61 AG GF 20 26 BD 28 97 4D
8416:0E 57 85 2B 58 85 78 F8 4C | 8640:2E OD GG 46 49 4C 45 4E 6G | G979:GA A2 71 AG GF 26 26 GD B7
8418:AD 59 85 6D 59 85 8D 59 2B | 8648:41 4D 45 GB 53 49 SA 45 AB | G981:A9 9G 85 CC 8D A2 GD 26 17
8420:85 AD 5A 85 6D 5A 85 8D 68 | 8650:80 28 46 49 4c 45 53 28 G9 | G989:E4 FF C9 OD FO 26 C9 14 DF
8428:5A 85 AD 5B 85 6D 5B 85 49 | 8658:53 29 26 53 43 52 41 54 CC | G991:FG 2A C9 20 98 F1 C9 BG 42
8436:8D 5B 85 D8 58 CA 16 D8 FB | 8660:43 48 45 44 2E GO OD 52 EB | 9999:BG G3 4C A2 89 C9 AB 9G BO
8438:A2 62 BD 59 85 48 4A 4A 8C | 8668241 4D 44 52 49 56 45 20 65 | GIAL:E6 AE A2 BD EG 16 FO DE G1
8440:4A 4A 20 4F 84 68 29 GF 21 | 8670:49 4£ 49 54 49 41 4c 49 55 | O9A9:20 D2 FF 9D A3 OF EE A2 34
8448120 4F 84 CA 10 EC 60 CD 35 | 8678:5A 45 44 2E @D GO GD 52 44 | G9B1:GD 4C 88 G9 AD A2 OD FO G2
8450:5C 85 DG G4 A9 26 DG G7 BO | B68G:41 4D 44 52 49 56 45 26 7D | G9B9:CE 4C D2 G9 AB A2 BD FG 3C
3458:09 30 AG FF 8C 5C 85 4C 33 | g688:44 49 53 41 42 4C 45 44 9A | G9C1:C6 AD 14 26 D2 FF AD BB 10
8460:D2 FF A9 20 20 D2 FF CA 21 | 8690:2E GD @6 46 49 4C 45 26 82 | G9C9:9D A3 GF CE A2 OD 4C 88 CC
NOVEMBER 1991 COMPUTE G-27
PROGRAMS
G9D1:09 A9 G1 85 CC AQ 26 2G BB| GCG1:AD AS GD 91 FB C8 60 28 F7| GE31:49 45 55 41 51 AD BD B9 78
99D9:D2 FF 26 34 @D A2 85 A@ 3B| @CG9:8E GC AO 34 8D AC GBD AE CB| GE39:AC BC 26 CD DD D9 AE BE 2E
G9E1:0F 20 26 GD AE A2 BD AG 13 GE41:4C 6C 8D 9D 99 8C BE CE 15
@9E9:00 BY 9F OF 9D A3 BF EE D7 @E49:DE EE FE CC EC ED FD F9 52
G9F1:A2 OD E8 C8 CO 64 DG Fl EB GE51:6D 7D 79 2D 3D 39 GD 1D 8B
@9F9:18 AD 9A GD 6D 9E @D 8D 35, GE59:19 4D 5D 59 2C 2B 3E 6E 9B
GAG1:A9 GD AD 9B GD 6D 9F OD 7 GE61:7E 4E SE GE 1B A9 A2 AG 7A
GAG9:8D AA @D AD 9E GD AE 9F 31 GE69:06 52 41 4D 44 52 49 56 6B
GA11:0D 85 FD 86 FE AD A2 GD 36 GE71:45 2E 4F 42 4A 2A 26 20 25
GA19:A2 A3 AG GF 26 BD FF AQ GE GE79:20 30 31 32 33 34 35 36 G6
GA21:05 A6 BA AG G5 20 BA FF EG GE81:37 38 39 41 42 43 44 45 6F
GA29:26 CO FF 20 B7 FF 29 OF 9E GE89:46 8E G8 12 98 20 52 41 BO
GA31:FO G3 4C 6C GD A2 O5 2G EB GE91:4D 44 52 49 56 45 26 52 9E
GA39:C9 FF AD 98 GD 26 D2 FF FF| @C69:8D 8D A2 OD AS FC ED 9F 2D| GE99:45 4C 4F 43 41 54 4F 52 D5
GA41:AD 99 OD 20 D2 FF AG GG GE| GC71:6D 8D A3 BD 38 AD A2 GD 83] BEA1:26 92 GG 9A 43 4F 56 59 6D
@A49:Bl FD 20 D2 FF 26 B7 FF D6| GC79:ED 9A GD 8D A4 GD AD A3 G2 49 47 48 54 20 31 39 6D
GA51:29 OF F@ G3 4C 6C BD E6 21] gc81:6D ED 9B BD OD A4 GD BG AS 31 26 43 4F 4D 58 55 94
GA59:FD DG G2 E6 FE 38 AD A9 2D| GC89:81 6G 68 68 60 AD 96 GD Cl 45 20 50 55 42 4C 49 EF
GA61:0D E5 FD 8D A8 @D AD AA 8D| GC91:AE 97 GD 85 FD 86 FE AD 96 41 54 49 4F 4B 53 GG 49
GA69:0D E5 FE @D A8 GD BG D8 E1| GC99:9E GD AE 9F GD 85 FB 86 11 | GEC9:@5 49 4B 53 45 52 54 20 F5
GA71:A9 G5 26 C3 FF 26 CC FF F5| @CAl:FC 6@ 8D A2 OD 8C A3 GD 1B| GED1:57 4F 52 4B 20 44 49 53 64
GA79:20 34 GD 20 34 BD A2 91 FA| GCA9:18 AD 9E GD 6D A2 BD 85 73| GED9:4B 20 43 4F 4B 54 41 49 9g
GA81:A0 BF 2G 20 OD 26 E4 FF 62] GCB1:FB AD 9F GD 6D A3 BD 85 91| OEE1:4E 49 4E 47 20 52 41 4D CF
GA89:C9 59 DB G3 4C 10 G8 C9 9F| BCB9:FC 18 AD 96 GD GD A2 OD E5| GEE9:44 52 49 56 45 2E 4F 42 GF
@A91:4E DG F2 6C FC FF 20 8E DC| @CC1:85 FD AD 97 OD 6D A3 GD BD| GEF1:4A G0 54 48 45 4E 26 5G 36
GA99:0C AD 9E GD AE 9F GD 8D 5F| @CC9:85 FE 68 AG GG Bl FD 8D CA| GEF9:52 45 53 53 28 41 20 4B C1
GAA1:BC GA 8E BD GA AD 96 GD 85| GCD1:A4 GD C8 Bl FD 8D A5 GD 32| GFG1:45 59 26 54 4F 26 43 4F 32
GAA9:AE 97 GD 8D B9 GA BE BA 43| GCD9:38 AD A4 OD ED 96 GD 8D 5G 54 49 45 55 45 2B 2E BB
GAB1:0A A2 GB AC 9B GD C8 BD 9E| GCE1:A6 GD AD AS GD ED 97 GD FC G8 9F 4C 4F 41 44 49 5a
@AB9:FF FF 9D FE FF E8 D@ F7 AE! @CE9:8D A7 GD 18 AD A6 BD 6D 65 47 2E 2E 2E 2E @D 66 1D
GAC1:BE BA GA EE BD GA 88 D@ 24] GCF1:98 GD 8D AG BD AD A7 GD 31 9E 2D 2D 2D 2D 26 44 88
GAC9:EE 20 D3 GA 26 G8 BC 4C FD| GCF9:6D 99 GD 8D A7 BD AG GO SC| GF29:49 53 4B 20 45 52 52 4F 93
GAD1:2C GC 18 AD 96 GD 6D 9C 3D| gDG1:AD A6 GD 91 FB C8 AD A7-5C| GF31:52 26 2D 2D 2D 2D GD BG 31
GAD9:6D 8D AG BD AD 97 BD 6D 16| gDG9:GD 91 FB 68 A2 14 2G D2 GC| GF39:54 52 59 2G 41 47 41 49 36
GAE1:9D OD 8D Al GD. AE G1 40 39| GD11:FF CA D@ FA 38 26 FG FF CB| GF41:4E 206 28 59 2F 4B 29 3F 6D
GAE9:AG GG A2 GB Bl FD DD 36 1A| gD19:E8 AG GA 18 4C FG FF 8E 47| GF49:00 GD 9A 52 45 4C 4F 43 66
GAF1:0£ FG 2B E8 EG 36 DG F6 9D| gD21:29 BD BC 2A BD A2 GO BD F7| GF51:41 54 45 20 41 44 44 52 C5
GAF9:A2 66 DD F3 GD FO 10 E8 8F| GD29:FF FF FG G6 206 D2 FF E8 F6| GF59:45 53 53 20 3A 26 24 6G F5
9B01:E0 4F D@ F6 91 FB 20 50 Fl| 6D31:D0 F5 68 A9 BD 4C D2 FF 17| GF61:9F 52 45 4C 4F 43 41 54 AF
GBG9:GC 20 64 GC 4C E9 GA 91 2A| 9D39:8E AO BD BC AA BD AG GO 3A | GF69:49 4E 47 26 2E 2E GD GO CF
@B11:FB 20 5@ GC Bl FD 91 FB 9C| 6D41:AD A9 GD D9 7A GE FG G3 CC| GF71:0D 9A 53 41 56 45 26 46 89
9B19:26 50 GC 4C GA GB 91 FB 35| 9D49:C8 DG F8 98 GA GA GA GA 3B| GF79:49 4c 45 26 4E 41 4D 45 51
@B21:20 54 GC Bl FD 8D A2 6D 76| @D51:8D A8 GD A2 BG AD AA GD 41| GF81:3A 26 G5 GO OF 53 41 56 88
9B29:26 56 GC Bl FD 8D A3 GD FB| 6D59:DD 7A GE FG G3 E8 DG FS 28| GF89:49 4E 47 2E 2B 2E 2E GO 32
@B31:20 56 GC 38 AD AG GD ED £9| GD61:8A GD AB GD 8D AB BD AD CO| GF91:41 4B 4F 54 48 45 52 20 2F
@B39:A2 @D 8D A4 BD AD Al GD 4F| @D69:AB BD 6G AD GS 20 C3 FF F1| GF99:28 59 2F 4E 29 6G 2C 5G DE
@B41:ED A3 GD GD A4 BD 96 5G 74| OD71:26 CC FF 20 34 GD A2 21 GD| GFA1:2C 57 GG GO GB GG GO OG AB
@B49:38 AD 96 OD ED A2 BD 8D 2C| GD79:AG GF 20 28 BD A2 39 AG B3| GFA9:GG BG GG GG GB GO BG GO C7
@B51:A4 6D AD 97 GD ED A3 GD AG| GD81:0F 20 20 GD 26 E4 FF C9 5E| GEB1:08 66 GG GO GB OG OG GG CF
@B59:@D A4 BD BG 3B 38 AD A2 84| GD89:59 FG G7 C9 4E DG F5 4C F7
@B61:6D ED 96 GD 8D A4 GD AD E3| GD91:10 G8 4c F9 69 GG 7D GO 22
9B69:A3 GD ED 97 OD 8D A5 GD C2] BD99:48 CD G9 AB G8 GG 40 BO B3 Wan
GB71:18 AD 98 BD 6D A4 BD 8D 88| BDA1:09 Gd Gd G6 0 G6 G6 Go Bp | MOND Pham lives in Antigonst, Nova
GB79:A6 GD AD 99 GD 6D A5 GD EB| GDA9:GG GO BG BG G9 Ga 1E aa 48 | SCOtia, Canada. oO
@B81:8D A7 BD AG GB AD AG GD G5| gDB1:25 GG 89 GB DE GG AG G1 cB
@B89:91 FB 28 5D OC AD A7 GD B4| GDB9:2A G2 48 G2 4E 62 54 G2 B7
@B91:91 FB 26 5D @C 4c GA GB F9| @DC1:5A G2 18 G6 2C G6 38 G6 DC
@B99:A8 66 AD A2 BD 91 FB 206 A6| BDC9:8B G6 CG G6 EC G6 F3 G6 11 1-3-5-7
@BA1:5D GC AD A3 BD 91 FB 26 20| ODD1:A7 67 DF 07 E9 G7 F3 G7 48
GBA9:5D GC 4C GA OB AG GO Bl 28| gpD9:FD B7 G7 G8 12 B8 34 as 37 | BY Randy Thompson
eae BD me Bb c8 Be ae 8D E5| gDE1:94 98 96 G8 98 98 9A g8 BD | Can computers learn? It's a thought-
3 FD 8D A3 GD 14/ gpE9:9C G8 9E G8 AG G8 A2 GB 1B rovoking question. In a sense, you
@BC1:C8 Bl FD 8D AS 6D 38 AD CO| gpF1:A4 68 AQ A2 AG AS BS Al 68 fe h aes i ,
; each your computer something every
GBC9:A4 BD ED 96 BD 8D Ad OD 91| GDF9:B1 A4 B4 AG BE BG FG 94 G2 | time you type i f
GBD1:AD AS @D ED 97 GD 8D A5 5A| GEG1:C9 C5 DS Cl D1 DG AG BE 2G you type in a new program, but is
@BD9:@D 18 AD A4 BD 6D 98 OD DB | BEGI:85 95 81 91 84 94 86 96 BG | that really learning?
@BE1:8D A4 GD AD AS BD 6D 99 3A| GE11:C6 D6 E6 F6 CG C4 CC EG 26 With these questions in mind, | se
pees eb ap AS op AG ae AD x2 72 | GE19:E4 EC E9 E5 F5 El Fl 69 @3 | Outtowriteaprogram that notonly teach-
BE1:0D 91 FB C8 AD A4 GD 91 AA| GE21:65 75 61 71 36 18 29 25 C9| es the computer anew trick (to play a
GBF9:FB C8 AD A3 GD 91 FB C8 9F| GE29:35 21 31 69 G5 15 G1 11 6E| game) but also improves its perform-
G-28 COMPUTE NOVEMBER 1991
ance by letting it learn from its mistakes.
This program plays a simple game that
| call 1-3-5-7 because of the way the
game's 16 pieces are arranged—in
four rows with one piece in the first row,
three pieces in the second row, five piec-
es in the third row, and seven pieces in
the fourth row. The more games of 1-3-
5-7 you play against the computer, the
better the computer gets at winning.
Getting Started
The program is written entirely in BA-
SIC. Type it in using The Automatic
Proofreader; see “Typing Aids" else-
where in this section. When you've fin-
ished typing, be sure to save a copy of
the program before running it.
When you play for the first time,
your computer is a terrible opponent. It
knows nothing about what is a good or
bad move; it simply strives to make le-
gal moves. At the end of each game,
however, the computer reviews the
moves both you and it made and at-
tempts to learn from the loser’s mis-
takes and the winner's good strategy.
After a number of games, the comput-
er's talent at remembering past events
makes it a formidable adversary.
How to Play
The game is easy to learn. Players
take turns removing pieces from the
board. Remove as many as you like as
long as those pieces are taken from
one row only. You may remove pieces
from any row, and you must take at
least one piece. The player who re-
moves the last piece loses the game.
When you run 1-3-5-7, the comput-
er asks you if you want to load any
previous game experience. This is a
file that you can create after playing a
few games and then exiting 1-3-5-7.
The game operates from a menu con-
taining six options: Human Moves
First, Computer Moves First, Human vs.
Human, Computer vs. Computer, Auto-
Learn Mode, and Quit.
In the first two options, you play
against the computer. If you have not
loaded a knowledge file, the computer
selects legal moves totally at random
(it doesn't know any better). Against a
reasonably aware opponent, the com-
puter nearly always loses. It can win,
but it rarely does.
Beating the computer is not the
idea, however. It's your job to improve
the computer's game through exam-
ple. The computer considers any
move that you make during a winning
game to be a good one. Conversely,
all moves made by the losing player
are seen as bad moves. If you play a
game perfectly, only to make a foolish
move at the end, the computer will re-
member all your moves as being unde-
sirable, and your teaching task will be-
come much more difficult. If you wish
to bring your computer up to speed as
soon as possible, you must show no
mercy and always play your best.
To make a move, you first select a
row by pressing the A, B, C, or D key
(the rows are labeled this way on the
screen). Next, select the number of
pieces you want to remove using the
computer's number keys. When you've
made your selections, press Return to
accept the move; press any other key
to start over and reenter your move.
When the game is over, the computer
announces the winner and returns you
to the game's main menu.
Other Options
Option 3, Human vs. Human, allows
you to play against another carbon-
based opponent, such as your best
friend. The computer still observes the
game while you play this mode, so its
expertise improves even though it's not
an active participant.
Computer vs. Computer pits the com-
puter against itself. It's a good option
to choose when you want to check for
weak spots in your computer’s game
strategy. By watching the computer
play, you might learn a few tricks your-
self. In Auto-Learn mode, the comput-
er and a spurious opponent named Mr.
Random take turns going first and con-
tinue playing until they are told to
stop. To halt Auto-Learn mode, press
the Back Arrow key. This is an excel-
lent mode to select when you want to
start building an experience file. Keep
in mind that, while Mr. Random is a tire-
less player, he is hardly a good role
model for your computer. Therefore,
even after several hours of competition
with Mr. Random, your computer will
still need some careful tutoring to be-
come a really good player.
When you select the Quit option, the
computer asks you if you want to save
the current game experience to disk. If
you answer Yes, you are asked to en-
ter a filename. By using distinct file-
names, you can create different expe-
rience files for various levels of play.
How It Works
The program keeps track of the current
board position in the string variable
BD$. Each time a player moves, BD$
is updated. The board position is
stored as four characters. The first char-
acter reflects the number of pieces in
row A, the second character reflects
the number of pieces in row B, and so
on. Thus, the initial board position is rep-
resented as 1357. If you removed
three pieces from row B as your first
move, 1057 would be the resulting
board position. The four board posi-
tions 1000, 0100, 0010, and 0001 sig-
nify the end of the game.
In order for the computer to learn
from a game, it must keep track of the
game's moves. Each move is stored in
the string array GM&(). The first move
of the game is stored in GM$(1), the
second move in GM§(2), and so on.
The current move number is kept in the
variable MV, so the current move is ref-
erenced with the statement GM$(MV).
The game's moves are stored in a
seven-character format. The first four
characters represent the board posi-
tion in exactly the same way board po-
sitions are represented by BD$. The
fifth character is always a space. The
sixth character represents the row, and
the seventh and last character speci-
fies the number of pieces removed
from that row. If you remove four piec-
es from row C as the first move in the
game, for example, the string 1357 C4
would be loaded into GM$(MV).
How It Learns
This program learns from experience:
Good behavior (winning) is rewarded,
and bad behavior (losing) is punished.
In order for the program to remember
what is good and bad behavior, | had
to supply the program with a memory
or brain. The brain of 1-3-5-7 is the
string array WM§(). Winning moves are
moved into the array, while losing
moves are shoved out. At the start of
the program, this array is empty.
Think of each array element in
WMS() as a brain cell, where one
NOVEMBER 1991 COMPUTE G-29
PROGRAMS
brain cell stores the possible winning
moves for one particular board posi-
tion. Accessing a brain cell is relative-
ly easy. For example, the winning
moves (or at least what the computer
thinks are winning moves) for board po-
sition 1345 are stored in WM$(1345).
So, at any time during the game,
WMS$(VAL(BD$)) returns the winning
moves (if any) for the current board po-
sition. (Note of interest: With 383 pos-
sible board positions and 1357 brain
cells, only about 3 percent of the pro-
gram's brain cells are actually ever
used. Remind you of anyone?)
Winning moves are stored in WM§()
in the same format as game moves are
stored in the last two characters of the
GM&() array. Several moves may be
stored in one WM§() brain cell, For ex-
ample, the board position indicated by
WM$(1536) may contain C83B1A1C1B2
as its winning moves. This example of-
fers the five moves C3, B1, Al, C1,
and B2. It's possible that there will be
just one winning move (or none)
stored for any one board position.
Brain cells organize moves in order
of preference; superior moves appear
ahead of inferior moves. Using the pre-
vious example, we see that the 1-3-5-
7 program prefers the move C3 over
B1, B1 over A1, and so on. Hoping to
make the best move possible, this pro-
gram always uses the first move found
in a brain cell.
After each game, 1-3-5-7 updates
its brain cells in response to the out-
come. Each move made by the win-
ning player is placed into the brain
cell corresponding to the board posi-
tion in which the move was made. Con-
sider the case when the player re-
moves one piece from row A in the
following board position:
A) |
B) Il
C) Ill
D)
The string A1 is placed into
WM§$(1230). If WM$(1230) already con-
tains the move A1, then the A1 is
bumped up by one move in the list. If
the move A1 is already the first move
in the list, no change is made. If A1 is
not already in the list, then A1 is
placed as the first move in the list.
G-30 COMPUTE NOVEMBER 1991
Each move made by the losing player
is demoted in the brain cell correspond-
ing to the board position in which the
move was made. For example, let's
say that the losing player removes two
pieces from row C in the following
board position:
A) |
B) Il
C) Il
D) Ill
The string C2 is moved to the right or
removed from WM$(1335). _ If
WMS$(1335) contains the move C2,
then the move is bumped down a
notch. If C2 is the last move in the list,
it is removed from the list. If C2 is not
in the list, no change is made.
Through this positive and negative re-
inforcement, the computer modifies its
playing style, improves its perform-
ance, and—in its own cybernetic way—
learns. Try to be a good teacher.
1-3-5-7
AS @ CLR
CS 5@ REM COPYRIGHT 1991 - COM
PUTE PUBLICATIONS INTL L
TD - ALL RIGHTS RESERVED
GOSUB1758:GOSUB1219
GOSUB153@:GOSUB360
PRINT PLS(OP,PL);"'S MO
VE": PRINT
ON (OP*2)+PL GOSUB426,5
96,596,420,420,420,596,
596,590,699
GMS (MV) =BD$+" "+CHRS(R+
64) +CHRS$ (N+48)
MV=MV+1: PL=ABS (PL-3)
GOSUB866: GOSUB364
IF EG=@ THEN126
NM=MV-1
REM
REM ANNOUNCE WINNER
REM
PRINT "AND THE WINNER I
5..."
PRINT: PRINT PL$(OP,ABS (
PL-3))
GOSUB9490
GET K$:IF OP=4 AND K$<>
"<" THEN1I1G
OP=6
PRINT "{9 DOWN}
{6 SPACES}= PRESS RETUR
N TO CONTINUE =";
GET K$:IF K$<>CHR$(13)
{SPACE} THEN280
GOTO119
REM
160
110
126
136
146
156
166
178
186
196
260
219
226
236
248
250
260
278
286
BD
JP
296
306
319
328
338
340
359
360
376
380
396
406
416
426
430
446
459
466
476
480
496
500
519
529
530
548
556
566
576
586
590
609
610
626
630
640
656
669
676
680
696
766
716
726
736
748
758
766
776
788
796
800
816
REM DISPLAY BOARD
REM
PRINT CHRS (147)
PRINT: PRINT
FOR I=1 TO 4
N=VAL (MID$ (BD$,1I,1))
PRINT CHR$(1+64);") "ZL
REM GET HUMAN'S MOVE
REM
PRINT "ROW:
GET K$:IF K$<"A" OR K$>
"D" THEN460
R=ASC (K$) -64
X=VAL (MID$ (BD$,R,1))
IF VAL(BD$)=INT (16 (4-R
)*X) THEN X=X-1
IF X=@ THEN46G
PRINT K$:R=ASC(K$) -64
PRINT "NUMBER TO REMOVE
e Me
Bete
GET K$:IF K$<"1" OR K$>
CHR$(X+48) THEN5S3@
PRINT K$:N=VAL(K$)
PRINT "{8 DOWN}
{7 SPACES}= PRESS RETUR
N TO ACCEPT =";
GET K$:IF KS="" THEN560
IF K$<>CHR$(13) THEN GO
SUB300:PRINT PL$(OP,PL)
7""S MOVE": PRINT: GOTO42
6
RETURN
REM
REM GET COMPUTER'S MOVE
REM
BD=VAL (BD$) :MVS=WMS$ (BD)
IF MVS="" THEN690
R=ASC (MIDS (MV$,1,1))-64
:N=VAL (MID$ (MV$,2,1)
PRINT "ROW: ";CHRS (64+R)
PRINT "NUMBER TO REMOVE
sven
IF OP<>4 THEN FOR I=1 T
O 1000:NEXT I
RETURN
REM
REM GET RANDOM MOVE
REM
ag=""
FOR I=1 TO 4
RS=MIDS$ (BD$,I,1)
IF R$<>"G" THEN AS=AS+C
HRS (1+48)
NEXT I
IF LEN(A$)=1 THEN R=VAL
(A$) :GOTO790
R=VAL (MIDS (A$, INT (RND (1
) *LEN (A$) ) +1,1)
X=VAL (MID$ (BDS$,R,1))
IF VAL (BD$)=INT (107 (4-R
)*X) THEN X=X-1
N=INT (RND (1) *X) +1
We
7
11998
12060
1218
1226
1238
PRINT "ROW: ";CHRS$(64+R)
PRINT "NUMBER TO REMOVE
BWA
IF OP<>4 THEN FOR I=1 T
O 1606:NEXT I
RETURN
REM
REM EXECUTE MOVE AND CH
ECK FOR WIN
REM
CN=VAL (MIDS (BD$,R,1)
CN=CN-N
BDS=MID$(BD$,1,R-1)+CHR
$(CN+48) +MID$ (BD$,R+1,4
)
IF BDS="1696" OR BDS="@
166" OR BDS="8616" OR B
DS$="9601" THEN EG=1
RETURN
REM
REM LEARN FROM GAME
REM
REM{4 SPACES}REWARD WIN
NING MOVES
MV=MV-1:IF MV=0 THEN RE
TURN
BD=VAL (LEFT S$ (GMS (MV) ,4)
MVS=RIGHTS (GMS (MV) , 2)
F=0:AS$=WM$(BD):IF A$="
" THEN AS=MV$:GOTO1LO8G
FOR I=1 TO LEN(A$) STE
P 2
IF MID$(A$,I,2)=MV$ TH
EN F=I
NEXT I
IF F=@ THEN AS=MVS+A$:
GOTO1680
IF F=] THEN1G8@
AS=LEFTS (A$ ,F-3) +MVS+M
ID$(A$,F-2,2) +MIDS$ (AS,
F+2)
WMS (BD) =AS
REM{4 SPACES}PUNISH LO
SING MOVES
MV=MV-1:IF MV=@ THEN R
ETURN
BD=VAL (LEFT$ (GM$ (MV) ,4
))
MVS=RIGHT S$ (GMS (MV) ,2
F=0:AS=WMS$(BD):IF A$="
" THEN979
FOR I=1 TO LEN(AS) STE
P2
IF MID$(A$,1,2)=MV$ TH
EN F=I
NEXT I
IF F=@ THEN97@
IF F+1=LEN(AS$) THEN WM
$ (BD) =LEFT$ (WM$ (BD) ,F-
1) :GOTO976
WMS (BD) =LEFTS (A$, F-1) +
MIDS (A$,F+2,2) +MVS+MID
$(AS,E+4)
GOTO979
REM
REM LOAD EXPERINCE
REM
KQ
KD
EX
PD
DJ
1246
1258
1266
1276
1286
1296
1306
1316
1326
1336
1349
1359
1366
1379
13898
1396
1466
1416
1420
1438
1446
1456
1466
1476
1486
1496
1596
1516
1526
1536
1546
1558
1568
15798
1589
1596
1669
16198
1626
1638
PRINT CHR$ (147)
PRINT "LOAD PREVIOUS G
AME EXPERIENCE? ";
GET K$:IF K$<>"¥" AND
{SPACE}KS$<>"N" THEN126
G
IF KS$="N" THEN PRINT "
NO":FOR I=1 TO 500:NEX
T I:GOTO1358
PRINT "YES":PRINT: INPU
T “FILENAME";A$:IF A$=
"" THEN135@
OPEN 15,8,15
OPEN 1,8,2,A$+".AI,S,R
"
INPUT#15,E,E$
IF E THENPRINT"* ";ES;
" #"2FOR I=1T02500:NEX
T I:CLOSE1:CLOSE15:GOT
01219
INPUT#1,BD:INPUT#1,MV$
:WMS (BD) =MV$:IF ST=6 T
HEN133@
CLOSE 1:CLOSE 15
RETURN
REM
REM SAVE EXPERIENCE
REM
PRINT CHR$(147)
PRINT “SAVE GAME EXPER
IENCE? ";
GET KS$:IF K$<>"Y" AND
{SPACE}K$<>"N" THEN141
6
IF K$="N" THEN PRINT "
NO":GOTO1526
PRINT "YES": PRINT: INPU
T "FILENAME";AS:IF A$=
"" THEN152@
OPEN 15,8,15,"SG:"+A$+
ALY
OPEN 1,8,2,A$+".AI,S,W
"
INPUT#15,E,E$
IF E THENPRINT"* ";ES;
" #":POR I=1T02500:NEX
T I:CLOSE1:CLOSE15:GOT
01369
FOR I=1 TO 1357
IF WM$(I)<>"" THEN PRI
NT#1,1:PRINT#1,WMS (I
NEXT I
CLOSE 1:CLOSE 15
RETURN
REM
REM PREPARE FOR NEW GA
ME
REM
BDS$="1357"
FOR I=1 TO NM:GM$(I)="
“3NEXT I
MV=1
EG=6
IF OP=4 THEN WF=ABS (WF
-3) : PL=WF:GOTO1746
PL=1
WE=1
PRINT CHR$ (147) ;"{WHT}
DF
Js
SH
BC
AA
1649
1656
1666
1678
1688
1696
1766
1716
1726
1736
1746
1756
1768
1776
1786
17968
18690
18190
1826
1839
1849
1850
1866
1876
1880
1896
{7 SPACES}1-3-5-7
{6 SPACES}"
PRINT
PRINT:PRINT "
{2 SPACES}1) HUMAN MOV
ES FIRST"
PRINT:PRINT "
{2 SPACES}2) COMPUTER
{SPACE}MOVES FIRST"
PRINT:PRINT "
{2 SPACES}3) HUMAN VS
{SPACE}HUMAN"
PRINT:PRINT "
{2 SPACES}4) COMPUTER
{SPACE}VS COMPUTER"
PRINT:PRINT "
{2 SPACES}5) AUTO-LEAR
N MODE"
PRINT:PRINT "
{2 SPACES}6) QUIT"
GET K$:IF K$<"1" OR KS
>"6" THEN1716
IF K$="6" THEN GOSUB13
60:PRINT:PRINT "THANKS
FOR PLAYING" :END
OP=VAL (K$) -1
RETURN
REM
REM INITIALIZE PROGRAM
REM
X=RND (-TI)
DIM WMS (1357)
DIM GMS$(15)
DIM PL$(4,2)
RESTORE
FOR OP=6 TO 4:FOR PL=1
TO 2:READ PL$(OP,PL):
NEXT PL:NEXT OP
RETURN
DATA THE HUMAN, THE COM
PUTER
DATA THE COMPUTER,THE
{SPACE}HUMAN
DATA HUMAN1,HUMAN2
DATA COMPUTER1,COMPUTE
R2
DATA THE COMPUTER,MR.
{SPACE} RANDOM
Randy Thompson is the editor of Ga-
zette's Programmer's Page." He lives
in Eugene, Oregon.
a
SPORT CARD COLLECTOR
By Kevin Scott Davis
Sport card collecting is a fun and prof-
itable hobby enjoyed by millions of Amer-
icans. One of the least enjoyable parts
of card collecting, however, is catalog-
ing that collection. The usual method is
to keep the inventory and prices on pa-
per, but that can be a headache. The
problem comes when it is time to make
NOVEMBER 1991
COMPUTE 4G-31
PROGRAMS
changes. It can be a messy and time-
consuming task.
Sport Card Collector was designed
to eliminate these problems, It becomes
much easier to alter card inventory and
prices when the 64 lends a hand. Col-
lector also can evaluate the value of
your collection based on the prices you
enter, and it can print out an orderly in-
ventory. The program tracks card
names, the number of cards and their
condition, and price.
Getting Started
Sport Card Collector is written entirely
in BASIC. To type it in, use The Auto-
matic Proofreader; see ‘Typing Aids”
elsewhere in this section. Be sure to
save a copy of the program when
you've finished typing.
Options
en you run the program, you are pre-
sented with the main menu. Option 1
on the menu allows you to load a new
data file. If the memory is not empty,
you will be prompted to erase it. You'll
be asked for the set year and name
(see option 3 for more details), and
then the program will load. A counter
will show you how many records (num-
ber of cards) exist in the set and
which record is being read. (If you en-
ter a filename that does not exist, you'll
have to reload the program.)
Option 2 is Edit File. You'll first be
asked if you want to start a new file.
Again, you won't be able to do this if a
file is still in memory. If your answer is
Yes, you'll be asked how many records
exist in the set. The counter will indi-
cate the numbers as the file is created.
The next option is to edit entire file
or prices only. The Entire File option is
used to edit all seven fields of the re-
cord: Card Name, Number of Cards in
Mint Condition, Number in Near Mint,
Number in Excellent/Good, Number in
Fair/Poor, Low Price, and High Price.
If you have not differentiated the con-
ditions of your cards, enter the total
number in the Mint field and ignore the
others (a 0 is automatically registered).
You must use Entire File when entering
data on a new file or changing the num-
ber of cards. If you're merely making
changes, it's not necessary to reenter
all the previouly entered data.
When you enter the card number to
G32. COMPUTE NOVEMBER 1991
edit, you'll be shown the existing data
in that record. Hitting Return at any
prompt will keep the data currently
shown. In the Prices Only mode, you on-
ly edit the low and high prices in each
record. This is much faster than editing
the entire file. In either edit mode, en-
ter a O at the Card to Edit prompt to re-
turn to the main menu.
Option 3 allows you to save your
file. It will ask for the set year and
name. The year can be any length, but
usually two digits will suffice, The set
name is limited to five characters. A to-
tal of seven characters is enough to
identify a file, though. My 1990-91 Sky
Box file, for example, is called
91SKYBX. (For a convenience to disk
subscribers, this 45-block file has
been included on this month's Gazette
Disk.) \f the program senses a file with
the same name on the disk drive, the
older one will be scratched. As the file
is saved, the counter shows you the re-
cord being saved at any moment.
Option 4 prints out the file in memo-
ry. You'll be asked for a data line to be
printed at the bottom of the printout.
This is ideal for identifying the set year/
name, date of prices, and so on. If
there's no file in memory, the option
will not work from the main menu.
When you're ready to print, you'll be
offered two choices of printouts. One is
for separate card conditions, which
prints different columns for mint, near
mint, and so on. The second adds the
four card fields and prints the total num-
ber of cards. Make sure the printer is
on and set to device 4 before hitting Re-
turn after entering your choice. The
printer can print approximately 65 re-
cords per page. At the end of the list-
ing, the set value will be calculated
and printed, as explained in option 5.
Option 5 evaluates the set's worth.
This calculation will depend on the val-
ues you've entered for each card. This
program was designed around the stan-
dards of the Beckett card magazines,
the industry benchmark. Of course,
you can use any price values you
care to assign as long as they include
high and low values.
Just as with the Beckett prices, the
figure given by this option is merely a
guide to your collection's value. You
may not be able to sell your set for
these prices. This option works by tak-
ing the number of cards you have in
each category, multiplying the number
to obtain a high value and low value,
and then multiplying by percentage al-
lowances for card conditions.
The allowances are 100 percent of
price for mint cards, 75 percent for
near mint, 60 percent for excellent/
good, and 10 percent for fair/poor.
While these are not exactly Beckett stan-
dards, incorporating all eight card con-
ditions would take too much memory to
be efficient. There is also too much over-
lap in the percentages in the eight
fields to be included. If you use differ-
ent percentages for card grading
(such as the higher percentages for old-
er cards), change the values in lines
2000 and 2020. While the values are be-
ing calculated, a counter shows you
the progress of the program. The pric-
es are shown; then press any key to re-
turn to the program's menu.
Option 6 allows you to view the re-
cords of the file in memory. You'll be
asked for the card number to view.
You'll be shown the seven fields of the
record for which you prompt. You can
then request another record or enter 0
to return to the menu.
Option 7 erases any data in memo-
ty. You will be asked to confirm this op-
tion. Once the data is erased, there is
no way to retrieve it, so be careful!
64 and 128 Modes
Sport Card Collector will run in both the
64 and the native 128 modes. In the
128 mode, you have access to the key-
pad. As 80 percent of all data entry is
entered by number, | find the keypad
makes data entry easier and faster.
The main advantage of the 128 is its
larger memory. It can handle approxi-
mately 1800 cards. | would not recom-
mend more than 750 cards per file in
64 mode. (| break up the few sets with
more than 750 cards into two files,
such as 89TOPP1 and 89TOPP2). Col-
lector may occasionally appear to lock
up with the counter stuck on card num-
ber 1. Be patient, though; in less than
ten seconds the program will continue.
| use this program to hold my own
basketball card records. The longest
task when using this program is enter-
ing the data for the first time. Then be
Prepared to spend several hours at the
computer the first time you edit a file.
Of course, you can save an incomplete
file to disk and then reload it later and
finish the job of entering data.
Once a file is set up, changing pric-
es from month to month is quick and
easy. Each month Beckett prints its
list of prices with up and down arrows
to indicate changes from the previous
month. Once you have the hang of it,
an entire file can be updated quickly.
Older sets are not as volatile; there-
fore, they may not need their value up-
dated every month. Just as with collect-
ing itself, you can get as much out of
this program as you are willing to put
into it. I've found it easy to carry my
inventory printout to card stores and
sport card conventions. My friends and
other collectors find the printout easy
to read, and it shows them which
cards have duplicates that | might be
willing to put up for trade.
SPORT CARD COLLECTOR
AS @ CLR
KP 5 REM COPYRIGHT 1991 — COMP
UTE PUBLICATIONS INTL LTD
- ALL RIGHTS RESERVED
YL=@
POKE 53280,0:POKE53281,0
PRINT (CHR$ (147) )
PRINT" {3 DOWN}
{1@ SPACES }{8}UDDDDDDDDD
DDDDDDDDDDDI"
PRINT" {1@ SPACES}{8}G
{5 SPACES}{RVS} {P}
{OFF} {RVS}{V}{P}{CP
{OFF} {RVS}{V}{P}{Cd
{OFF} {8}{3 SPACES}H"
PRINT"{16 SPACES}G
{5 SPACES}{RVS} {OFF}
{2 0} {RVS} {OFF}
{3 SPACES}{RVS} {OFF}
{6 SPACES}H"
PRINT"{1@ SPACES}G
{5 SPACES}{1}{P}{RVS}
{OFF} {RVS}{F}{Y}{D>
{OFF} {RVS}{F}{Y}{D}
{OFF}{4 SPACES}H"
PRINT"{10 SPACES}GEEEEEE
EEEEEEEEEEEEEEH"
PRINT" {10 SPACES}GSPORT
{SPACE}CARD COLLECTORH"
160 PRINT"{1@ SPACES}{Q}DDD
DDDDDDDDDDDDDDDDD{W}™ _
116 PRINT"{19 SPACES}G{RVS}
{1] LOAD FILE{7 SPACES}
{OFF}H"
126 PRINT"{1@ SPACES}G{RVS}
[2] EDIT FILE{7 SPACES}
{OFF}H"
130 PRINT"{1@ SPACES}G{RVS}
[3] SAVE FILE{7 SPACES}
cc
KG
AQ
JE
19
26
30
40
KM 56
RC 66
AE 70
SA 88
DH 96
Qs
Cx
BS
KX
BA
KC
HD
DJ
RS
149
158
160
176
186
198
206
216
226
230
246
250
260
278
289
298
369
316
326
336
346
350
366
376
388
396
400
419
429
430
446
459
{OFF}H"
PRINT"{16 SPACES}G{RVS}
{4] PRINT FILE
{6 SPACES}{OFF}H"
PRINT"{19 SPACES}G{RVS}
[5] EVAL. SET PRICE
{OFF}H"
PRINT"{1@ SPACES}G{RVS}
[6] VIEW FILE{7 SPACES}
{OFF}H"
PRINT"{16 SPACES}G{RVS}
[7] ERASE MEMORY
{4 SPACES} {OFF}H"
PRINT"{1@ SPACES} JFFFFF
FFFFFFFFFFFFFFFK"
IF FS="" THEN XW$="**NO
NE**"
PRINT"{9 SPACES}FILE IN
MEMORY: "XWS
PRINT: PRINT"{13 SPACES}
CHOOSE: [1 TO 7]"
GET X$:IF X$="" THEN 22
8
X=VAL (X$):IF X<1 OR X>7
THEN 20
ON X GOTO 259,560,1128,
1386,1880,2200,2150
REM LOAD FILE
PRINT" {CLR}{15 SPACES}L
OAD FILE":PRINT
PRINT"ENTER SET YEAR
(WHT }"
POKE19,65:INPUT SY$:PRI
NT:PRINT"{8}ENTER SET N
AME [MAX 5 CHARS.] {WHT}
"
POKE19,65: INPUT SN$
IF XW$<>"**NONE**" THEN
PRINT: PRINT"{8}MUST ER
ASE MEMORY FIRST!"
IF XW$<>"**NONE**" THEN
PRINT"PRESS ANY KEY TO
GO TO MAIN MENU"
IF XW$<>"**NONE**" THEN
GET HY$
IF XW$<>"**NONE**" AND
{SPACE}HY$="" THEN 328
IF XWS<>"**NONE**" THEN
26
PRINT: PRINT: PRINT"{8}IN
SERT DISK AND PRESS A K
EY/'N' ABORTS"
GET K$:IF K$="" THEN 36
6
IF K$="N" THEN 26
FS=SY$+SNS$:OPEN8,8,8,F$
+ S,R"
INPUT#8 , YT: INPUT #8 ,GC
GOSUB 2366
PRINT" {CLR}"zPRINT"{8}T
OTAL RECORDS IN THE SET
Hud 40
RN=1
PRINT"ON RECORD NUMBER:
{WHT} 1"
FOR TM=l1 TO YT
INPUT #8 ,CMS (TM) : INPUT#8
,MTS$ (TM) : INPUT#8 , NM$ (TM
RP
KS
XM
FP
JB
MK
EH
DB
HP
EB
SA
XF
FD
EP
) : INPUT#8,GDS (TM)
460 INPUT#8,FPS (TM) :INPUT#8
, LOS (TM) : INPUT#8,HIS (TM
)
478 PRINT" {WHT} {HOME}
{2 DOWN}{17 RIGHT}"TM
480 NEXT TM
498 CLOSES
500 OPEN15,8,15:INPUT#15,EN
,EM$,ET,ES
510 PRINT: PRINT: PRINT: PRINT
"{8}DRIVE STATUS:":PRIN
TEN;EMS;ET;ES
520 CLOSE15: PRINT: PRINT" PRE
SS ANY KEY TO CONTINUE"
530 GET WOS:IF WOS="" THEN
{SPACE}536
549 XWS=FS
558 GOTO 20
560 REM EDIT FILE
576 PRINT"{CLR}"
586 PRINT"{8}START BRAND NE
W FILE?? [Y/N]"
590 GET YNS:IF YNS="" THEN
{SPACE}596
600 IF YNS="Y" AND. XWS<>"**
NONE**" THEN PRINT"ERAS
E MEMORY FIRST! [HIT AN
Y¥ KEY)"
610 IF YNS="Y" AND XWS<>"**
NONE**" THEN GOTO 2576
620 IF YNS="Y" THEN INPUT"
{8}HOW MANY CARDS? {WHT}
";YT:F$="WORK": XWS="WOR
K":GOSUB2360
636 IF YNS="Y" THEN GOSUB 2
496
640 PRINT"{8}EDIT [1] ENTIR
E FILE{2 SPACES}[2] PRI
CES ONLY{WHT}{2 SPACES}
"
650 POKE19,65: INPUT TES$:TE=
VAL (TES) :IF TE=2 THEN 9
76
666 PRINT:PRINT"{8}CARD NUM
BER TO EDIT [@ TO EXIT]
"
676 PRINT"THERE ARE"YT"CARD
S IN THE SET. {WHT}"
686 POKE19,65:INPUT CE$:CE=
VAL (CE$)
696 IF CE=@ THEN 26
708 IF CE>YT OR CE<@ THEN 6
68
716 PRINT"{CLR}{8}CARD NUMB
ER: "CE:PRINT CM$(CE) :P
RINT"# IN MINT:
{6 SPACES}"MT$ (CE)
726 PRINT"¢ IN NRMT:
{6 SPACES}"NMS (CE)
738 PRINT"# IN GOOD:
{6 SPACES}"GD$(CE) :PRIN
T"# IN FAIR/POOR: "FPS (
CE)
740 PRINT"LOW PRICE:
{6 SPACES}"LO$(CE) : PRIN
T"HIGH PRICE:{5 SPACES}
"HIS (CE)
NOVEMBER 1991
COMPUTE G-33
PROGRAMS
756
760
776
786
796
800
819
820
830
846
850
860
876
880
899
906
910
920
938
946
956
966
976
986
999
1668
1016
1626
1636
1646
1656
1968
1676
1689
1696
1166
1116
1126
1136
PRINT: PRINT"CARD NUMBER
i'CE
PRINT"NAME [LESS THAN 2
@ CHARACTERS] {WHT}":POK
E19,65
INPUT CM$(CE):IF LEN(CM
$(CE))>2@ THEN 760
PRINT: PRINT"{8}NUMBER O
F CARDS IN MINT{WHT}"
INPUT MT$(CE)
IF MT$(CE)="" THEN MTS (
CE)="9"
PRINT: PRINT"{8}NUMBER O
F CARDS IN NEARMINT
{WHT}"
INPUT NM$(CE)
IF NM$(CE)="" THEN NMS (
CE)="9"
PRINT: PRINT"{8}NUMBER O
F CARDS IN EXC./GD.
{WHT}"
INPUT GDS$(CE)
IF GD$(CE)="" THEN GD$(
cE) ="g"
PRINT: PRINT"{8}NUMBER O
F CARDS IN FAIR/PR.
{WHT }"
INPUT FP$(CE)
IF FPS$(CE)="" THEN FPS (
CE) ="g"
PRINT: PRINT"{8}LOW VALU
E{WHT}"
INPUT LO$(CE)
IF LO$(CE)="" THEN LOS$(
CE) ="9"
PRINT: PRINT"{8}HIGH VAL
UE{WHT}"
INPUT HI$(CE)
IF HI$(CE)="" THEN HIS$(
CE)="g"
GOTO 660
REM EDIT PRICES ONLY
PRINT"{CLR}"
PRINT"{8}CARD NUMBER TO
EDIT [@ TO EXIT]"
PRINT"THERE ARE"YT"CAR
DS IN THE SET.{WHT}":P
OKE19,65:INPUT CE
IF CE=@ THEN 20
PRINT"{8}CURRENT: "
PRINT"PLAYER NAME:
$ (CE)
PRINT"LOW PRICE:
{3 SPACES}"LOS (CE)
PRINT"HIGH PRICE:
{2 SPACES}"HIS$ (CE)
PRINT: PRINT"INPUT NEW
{SPACE} PRICES": PRINT
PRINT"LOW VALUE {WHT}"
POKE19,65:INPUT LO$(CE
)
PRINT"{8}HIGH VALUE
{WHT }"
INPUT HI$(CE)
PRINT:GOTO 999
REM SAVE FILE
IF XWS="**NONE**"THEN
{SPACE}PRINT"NO FILE E
"CM
G-34 COMPUTE NOVEMBER 1991
FX
JR
MX
FQ
ME
JF
KE
PS
JX
Qx
GG
QB
FH
AD
ER
HE
HC
1146
1156
1166
1176
1186
1196
1206
1216
1226
12390
1246
1256
1266
1276
1286
12968
1366
1316
1326
1336
1346
1356
1366
1376
1386
13968
1466
1416
1426
1436
1449
1456
1466
XISTS! [HIT ANY KEY]"
IF XWS="**NONE**" THEN
GOTO 2578
PRINT" {CLR}{15 SPACES}
SAVE FILE": PRINT
PRINT"{8}ENTER SET YEA
R{WHT}"
POKE19,65:INPUT SY$:PR
INT: PRINT"{S}ENTER SET
NAME [MAX 5 CHARS.]
{WHT}"
INPUT SN$:IF LEN(SN$)>
5 THEN 1180
PRINT: PRINT: PRINT"{8}1
NSERT DISK AND PRESS A
KEY/'N' ABORTS"
GET K$:IF KS="" THEN 1
268
IF K$="N" THEN 20
GOSUB 2350
PS=SY$+SNS$:XWS=F$:0PEN
8,8,8,FS+",S,W"
PRINT#8, YT: PRINT#8 ,GC
PRINT" {CLR}": PRINT" TOT
AL RECORDS IN THE SET:
Ryat
PRINT"ON RECORD NUMBER
: {WHT} 1"
FOR TL=1 TO YT
PRINT#8,CMS (TL) : PRINT#
8,MTS (TL) : PRINT#8,NMS (
TL) : PRINT#8,GD$ (TL)
PRINT#8,FPS (TL) : PRINT#
8,LO$ (TL) : PRINT#8,HIS (
TL)
PRINT" {HOME}{2 DOWN}
{17 RIGHT} "TL
NEXT TL
CLOSE8
OPEN15,8,15:INPUT#15,E
N,EM$,ET,ES
PRINT: PRINT: PRINT: PRIN
T"{8}DRIVE STATUS:":PR
INTEN;EM$;ET;ES
CLOSE15: PRINT: PRINT"PR
ESS ANY KEY TO CONTINU
E"
GET WOS:IF WOS="" THEN
1366
GOTO 26
REM PRINTOUT
IF XWS$="**NONE**" OR F
$="**NONE**" THEN 20
PRINT" {CLR}"
PRINT"{13 SPACES}HARD
{SPACE}COPY"
PRINT"{2 SPACES}THIS W
ILL PRINT THE FILE IN
{SPACE }MEMORY"
PRINT"{2 SPACES}MAKE S
URE YOUR PRINTER IS ON
DEV 4"
PRINT: PRINT"ENTER YOUR
DATA LINE [UNDER 49 C
HARS.] {WHT}"
POKE19,65:INPUT DL$:IF
LEN(DL$)>48 THEN 1446
PRINT: PRINT: PRINT: PRIN
SG
XX
1476
1486
14996
1566
15196
1526
1536
1546
1550
1566
1576
15868
1596
16068
1619
1626
1636
1649
1650
1660
1676
1686
1696
1766
17196
1726
1736
1746
1756
1766
1776
1789
1796
1866
T"{8}CHOOSE [1] SEP. C
ARD COND. [2] STANDARD
{WHT}"
POKE19,65:INPUT VR:IF
{SPACE}VR=2 THEN 1726
PRINT: PRINT"{9 SPACES}
THEN PRESS ANY KEY"
GET WES$:IF WES="" THEN
1499
OPEN4, 4
GHS=CHRS$ (14)
PRINT#4,"":PRINT#4,""
PRINT#4,CHRS(14)"
{1@ SPACES}SPORT CARD
{SPACE}COLLECTOR"
PRINT#4,CHRS(14)"
$39 T}"CHRS (15)
PRINT#4,GHS"C# CARD-NA
ME #MT #NM #EG #FP LO
{3 SPACES}HI{2 SPACES}
"CHRS (15)
FOR TP=1 TO YT
PRINT#4,CHR$ (16) "G1"+S
TRS (TP);
PRINT#4,CHRS$ (16) "G8"+C
M$ (TP);
PRINT#4,CHRS (16) "28"4M
TS (TP);
PRINT#4,CHRS (16) "36"4N
MS(TP);
PRINT#4,CHRS (16) "44"+G
DS (TP);
PRINT#4,CHRS$ (16) "52"+F
PS (TP);
PRINT#4,CHRS$ (16) "58"+L
OS (TP);
PRINT#4,CHRS (16) "68"+H
I$ (TP)
NEXT TP
PRINT#4,CHR$(14)"
£39 T}"CHRS(15)
PQ=1:GOTO 1926
PRINT#4,"":PRINT#4,""
OO=LEN (DL$) :SS=49-00:S
D=,5*SS
PRINT#4,CHRS$ (14) ""SPC(
SD) ""DLS
CLOSE 4
GOTO 26
OPEN4, 4
GHS=CHRS$ (14)
PRINT#4,"":PRINT#4,"":
PRINT#4,CHR$(14)"
{16 SPACES}SPORT CARD
{SPACE }COLLECTOR"
PRINT#4,CHR$(14)"
{39 T}"CHRG (15)
PRINT#4,CHRS$ (14) "C# CA
RD-NAME{2 SPACES}#/CAR
DS{2 SPACES}LO
{2 SPACES}HI{2 SPACES}
"CHR$ (15)
FOR TP=1T0YT
PRINT#4,CHR$ (16) "91"+S
TRS (TP);
PRINT#4,CHR$ (16) "G8"+C
MS (TP);
M=VAL (MTS (TP) ) :N=VAL(N
1816
1829
1836
1848
1858
1860
18798
1886
1896
1968
1916
1929
1936
1946
1958
1968
1976
1986
1996
2009
2016
2026
2036
2046
2050
2066
2076
2689
2698
2196
2116
2126
2138
21496
2156
2166
21798
M$ (TP) ) sE=VAL (GDS (TP) )
:F=VAL (FP$ (TP) )
TH=M+N+E+F
PRINT#4,CHRS (16) "36"+S
TRS (TH);
PRINT#4,CHRS$ (16) "46"+L
O$ (TP);
PRINT#4,CHRS (16) "54"+H
I$ (TP)
NEXT TP
PRINT#4,CHRS$(14)"
£39 T}"CHRS(15)
PS=2:GOTO 1920
REM EVAL SET WORTH
IF XWS$s"**NONE** "THEN
{SPACE}PRINT"NO FILE!
{SPACE} [HIT ANY KEY]"
IF XWS="**NONE**"GOTO
{SPACE}2579
PS=1:PQ=G
IF GC=1 THEN 2146
PRINT" {CLR} {8}EVALUATI
NG SET WORTH:"YT" ITEM
Sem
PRINT"SCANNING RECORD
{SPACE}NUMBER: {WHT} 1"
HS=6:LS=6
FOR T=1 TO YT
PRINT" {HOME } {DOWN}
{23 RIGHT}"T
M=VAL (MTS (T) ) :N=VAL (NM
$(T)) :E=VAL (GD$(T)):P=
VAL (FP$(T)) :LP=VAL (LOS
(T))
HP=VAL (HI$(T) )
IF PS<>2 THEN LV=((M+(
«75*N) +(.60*E) +(.10*G)
)*LP)
IF PS=2 THEN LV=((M+N+
E+P) *LP)
IF PS<>2 THEN HV=((M+(
«75*N) +(.60*E) +(.16*P)
) *HP)
IF PS=2 THEN HV=((M+N+
E+P) *HP)
HS=HS+HV:LS=LS+LV
NEXT T
PRINT"{5}LOW SET VALUE
"LS
IF PQ=1 OR PS=2 THEN P
RINT#4,"SET — LOW VALU
E"LS
PRINT"HIGH SET VALUE"H
Ss
IF PQ=1 OR PS=2 THEN P
RINT#4,"SET - HIGH VAL
UE"HS
IF PS=2 OR PQ=1 GOTO 1
679
PRINT"PRESS ANY KEY"
GET HH$:IF HHS$=""THEN
{SPACE}2120
GOTO 20
GOTO 1930
REM CLEAR DATA
PRINT" {RVS}ARE YOU POS
ITIVE [Y/N] {OFF}"
GET QW$:IF QWS="" THEN
BC
SG
2186
21998
2206
22190
2226
2239
2246
2256
2266
2276
2286
2296
2366
23190
2328
23308
2348
2356
2366
2376
2386
2396
2496
2416
2426
2436
2446
24598
2466
2476
2486
2496
2596
25168
2526
2538
25468
2558
2568
25768
2586
2170
IF QWS="N" THEN 20
RUN
REM VIEW CARDS
PRINT" {CLR}"
PRINT:PRINT"{8}SET: "F
$:PRINT"CARD NUMBER? [
@ TO EXIT)"
PRINT" THERE ARE"YT"CAR
DS IN THE SET. {WHT}"
POKE19,65:INPUT CD$:CD
=VAL (CDS)
IF CD=G THEN 20
IF CD>YT THEN 2226
PRINT" {CLR}":PRINT"{8}
PLAYER'S NAME: "CM$(CD
)
PRINT"CARDS IN MT:
{2 SPACES}"MT$(CD)
PRINT"CARDS IN NM:
{2 SPACES}"NMS (CD)
PRINT"CARDS IN EG:
{2 SPACES}"GDS (CD)
PRINT"CARDS IN FP:
{2 SPACES}"FP$ (CD)
PRINT"LOW PRICE:
{4 SPACES}"LO$ (CD)
PRINT"HIGH PRICE:
{3 SPACES}"HI$(CD)
PRINT:GOTO 2220
FS=SYS$+SNS$:O0PEN 15,8,1
5:PRINT#15,"SG:"+FS+",
S":CLOSE15: RETURN
REM DIM SUBROUTINE
IF YT<=@ THEN PRINT"
{8}ERROR! PRESS ANY KE
y"
IF YT<=@ THEN GET XH$
IF YT<=@ AND XH$="" TH
EN 2380
IF YT<=9 THEN 26
DIM CM$ (YT)
DIM MTS (YT)
DIM NM$ (YT)
DIM GDS$(YT)
DIM FP$(YT)
DIM LOS$(YT)
DIM HI$(YT)
RETURN
PRINT" {CLR}{8}SETTING
{SPACE}UP FILE -"YT"RE
corps"
PRINT"ON RECORD NUMBER
: {WHT}1"
FOR TQ=1 TO YT
CMS (TQ) ="O"sMTS (TQ) ="
"NMS (TQ) ="@":GDS (TQ) =
gn
FP$ (TQ) ="0":LO$ (TQ) ="
"SHIS (TQ)="9"
PRINT" {HOME } {DOWN}
{17 RIGHT}"TQ
NEXT TQ
RETURN
GET XL$:IF XL$="" THEN
2578
GOTO 26
Kevin Scott Davis is an honor student
in high school and has a card collec-
tion of more than 2000 basketball play-
ers. He lives in Winter Park, Florida. O
FILE COPIER
By Daniel Lightner
Use this disk utility program to copy sin-
gle files or groups of files and to per-
form other functions as well. File Copi-
erloads the disk directory into memory
and lets you freely thumb through its con-
tents, tagging as many files as you like.
For example, you can copy these
tagged files to another disk, scratch
them, or rename them. File Copier per-
forms other operations as well, such as
formatting or validating a disk.
File Copier is written entirely in ma-
chine language. To type it in, use MLX,
our machine language entry program;
see “Typing Aids” elsewhere in this sec-
tion. When prompted for starting and
ending addresses, respond with the
following values.
Starting address: 0801
Ending address: 1458
Be sure to save a copy of File Copier
before you exit MLX.
Getting Started
File Copier loads and runs like a BA-
SIC program. After File Copier has
been started, it deletes 684 bytes,
about three disk blocks, from the end
of itself. This is where File Copier
starts loading the files you select.
File Copier can load up to 48,722
bytes or 191 disk blocks at a time.
When this memory is filled, the pro-
gram will instruct you to place the tar-
get disk (the disk you want these files
copied to) in drive 8 for saving.
When it has finished saving this first
block of memory and you have select-
ed more files, File Copier will instruct
you to put the source disk back in the
drive to continue the copying process.
First Things First
When you first run File Copier, it at-
tempts to load the directory of any
disk in drive 8. If you wish to format a
disk, do not place it in the drive until af-
NOVEMBER 1991 COMPUTE G-35
PROGRAMS
ter File Copier has read a disk directo-
ry, perhaps the one that you loaded
File Copier from. After it has read the di-
rectory, if you wish to format a disk,
then place the unformatted disk in the
drive and choose the format option.
Menu Selections
When File Copier runs, all of its func-
tions are listed on the screen, as
shown below. Make selections by press-
ing the appropriate function key.
f1—VALIDATE DISK
f2—SCRATCH
f8—RENAME
f4—FORMAT
#5—DIRECTORY
f6—QUIT
f7—COPY
f8—ABORT
You will see the greater-than sign (>)
on the lower left portion of the screen.
This pointer is where all information
will be displayed during operation.
To select files after File Copier has
loaded the directory, use the Crsr Up/
Down keys to scroll up and down the
directory listing. When you see a file
you wish to select, press the Return
key. Notice that the filename is now fol-
lowed by an arrow. This arrow is to in-
dicate that this file has been selected.
If you change your mind about your se-
lection, you may press the Return key
again to toggle the selection off again.
After you have made your selec-
tions, choose the desired function key.
lf you find that you have made the
wrong choice, use the f8 key to abort
that selection. Abort the selection only
when File Copier is showing the option
name and the Press Key prompt. If you
press any other key, the program will ac-
tivate the indicated function. So be care-
ful; you could accidentally delete files
that you intended to copy. If you only
want to copy files, it is best to put a
write-protect tab on your source disk.
When you choose the Format op-
tion, File Copier asks you to provide a
name for the disk you are formatting;
then it asks for an ID. This is a two-
step process, so do not provide the ID
when you enter a disk name.
To rename selected files, just follow
the onscreen prompts. File Copier first
shows you the current selection and
G-36 COMPUTE NOVEMBER 1991
prompts for a keypress. It then asks for
the desired new name. Enter the new
name and press Return.
If you select the Scratch option, File
Copier will delete all marked files un-
less you decide to abort the process at
the Press Key prompt. So be sure that
the files you have picked are ones
that you really don't need.
The remaining functions are self-
explanatory. File Copier keeps you
informed with various onscreen messag-
es while all selected functions are
being carried out.
FILE COPIER
Go
26
56
27
GA
3A
4P
31
Ut)
D8
8D
8D
61
pc
8D
@D
FE
Ag
8D
26
RE
29
27
2B
38
43
7B
26
68
59
26
68
B9
E4
9D.
B9
Go
G1
FE
gl
@1
U1)
62
26
99
ty
E8
F2
91
60
i)
26
cD
2c
9E
46
49
C1)
GG 9G
Ad OG
26 DG
GE DC
AD GE
AIICL
14 63
20 BI
G9 26
96 8D
C3 G2
07 GA
c9 11
c9 @D
C9 87
co 85
C9 86
4c 81
G8 26
12 69
4C 62
G8 26
12 69
26 97
6D 29
4C E2
GE 4C
Gl 70
99 G1
99 61
69 AG
8D A8
78 C9
76 DB
68 8C
G7 GA
AC FA
A2 GO
26 EC
AQ 96
FD 26
4c 74
F@ F6
BD GA
A2 93
FO G6
B9
BB
15
A3
51
9E
41
D8
24
51
4F
gC
49
AG
8A
c8
DB
27
46
41
6F
F4
FB
7B
79
15
DF
FO
91
3B
AT
FE
F8
21
BD
BA
41
83
5D
8A
87
96
68
7c
36
98
74
the
D4
19
G861:1E
9869:38
G811:26
@819:27
@821:00
@829:CC
@831:A9
6839:29
G841:FE
6849:8D
@851:A9
859326
@861:19
9869:31
G871:A8
G879:A2
G881:26
6889:91
@891:89
G899:8A
G8A1:8B
@8A9:88
98B1:0A
@8B9:7B
98C1:4C
@8C9:GB
@8D1:59
@8D9:4C
G8E1:9D
G8E9:8C
G@8F1:09
G8F9:A2
9961:68
G969:88
G911:98
6919:62
@921:70
6929:C8
@931:8D
G939:A2
9941:28
9949:99
G951:91
G959:63
G961:EC
O969:FF
6971:03
9979:A5
9981:A5
9989:FB
g8
26
43
39
Uy)
FF
@5
FE
85
GE
34
94
26
B
62
G3
E4
FG
FO
FO
FG
FG
4c
98
59
4c
08
59
20
Fo
26
63
Ag
Ag
29
AQ
B9
cc
G991:4C
G999:GA
G9A1:A5
G9A9:34
G9B1:FG
G9B9:E8
@9C1:AD
G9C9:20
G9D1:FB
G9D9:FO
G9E1:C9
G9E9:FG
G9F1:AD
G9F9:4C
GAG1:FD
GAG9:GA
GA11:E8
GA19:D6
@A21:AD
GA29:695
GA31:A2
GA39:BGO
@A41:61
GA49: 98
@A51:BD
GA59:29
GA61:6D
GA69:C6
GA71:06
GA79:61
GA81:E4
GA89:26
GA91:26
GA99:FF
GAA1:GA
GAAS: FF
GAB1:91
GAB9:G2
@AC1:A9
GAC9: 36
GAD1:19
GAD9:8A
GAE1:69
GAE9:85
OAF1:85
GAF9: 69
GBG1:A9
@BG9:8D
GB11:FO
@B19:26
OB21:FO
GB29:GA
9B31:26
GB39:AG
9B41:C9
9B49:3B
9B51:63
@B59:GA
OB61:06
GB69:78
@B71:65
GB79:4C
9B81:6D
9B89:8C
GB91:FO
9B99:FE
@BA1:26
@BA9: 8D
9BB1:93
GBB9: 93
26
Gl
Ut)
cg
35
GA
34
OA
G3
Ol
26
a9
G4
B7
20
D2
13
6C
96
ol
cg
03
ty
alt
AG
20
62
FF
GA
FF
BO
FO
26
4c
26
Ag
EE
85
22
G1
DG
AS
69
69
85
FG
Ag
cg
91
cg
4c
G2
Go
FO
GA
AD
26
03
99
c8
A2
26
16
cg
G2
O7
20
99
CE
B9
6BC1:03
@BC9:DG
@BD1:8D
@BD9: G2
GBE1:02
OBE9: G7
@BF1:29
GBF9:07
GCO1:AG
9CB9:CB
@C11:35
6C19:03
6C21:26
GC29:GE
@C31:E8
6C39:63
GC41:8A
GC49:GA
9C51:87
GC59:GA
GC61:76
9C69:GD
@C71:8C
@C79:99
OC81:AG
6C89:67
6C91:26
6C99:67
GCA1:D2
9CA9360
@CB1:B9
@CB9:A9
@CC1:AD
@CC9:FD
OCD1:E8
GCD9: 34
@CE1:EC
@CE9:DG
OCF1:AG
OCF9:26
@DO1:F1
6D69:87
@D11:GA
GD19:60
@D21:CC
9D29:4B
63
AD
26
62
$B
D2
cg
c8
E4
DB
4B
AD
26
Ag
B9
co
8D
GE
8c
@D
26
@D
AG
c8
93
G4
cg
D7
FG
OA
87
69
cg
FG
GA
58
48
67
35
c8
63
8c
@D
63
DS
18
6D49:6F
@D51:CE
@D59:EC
@D61:4C
@D69:99
GD71:34
@D79:68
9D81:63
GD89:20
@D91:4C
@D99:GA
@DA1:85
GDA9:A5
@DB1:FF
GDB9:A2
G@DC1:66
@DC9:61
@DD1:GE
@DD9:4C
@DE1:A2
GDE9: G6
34
4c
EC
Ag
26
Fl
26
AG
AQ
20
26
96
@D
A8
66
vy)
GE
4c
A2
G6
6B
@DF1:GE
@DF9:GE
GEG1:4C
GEG9:30
GE11:A5
GE19:31
GE21:04
GE29:2A
GE31:26
GE39:34
@E41:F9
GE49:F1
@E51:E9
GE59:E1l
G£61:16
GE69:20
GE71:GE
GE79:66
GE81:34
GE89:BG
GE91:38
GE99:03
@EA1:E1l
@EA9:C9
GEB1:62
GEB9:8D
@EC1:CA
GEC9:D1
GED1:24
GED9:FE
@EE1:AD
@EE9:BD
GEF1:D1
GEFI:16
GFG1:62
GFO9:FO
GOF11:26
G@F19:62
@F21:C9
GF29:FC
GF31:62
GF39:96
OF41:20
GF49:B1
GF51:03
GF59:C8
GF61:CO
GF69:BE
GF71:66
GF79:16
@F81:20
GF89:GD
@F91:8D
GF99:A9
GPA1:AG
GFA9:DE
GFB1:FF
GFB9:FG
4c
A2
06
Ag
36
69
CA
FO
GE
63
cg
cg
cg
co
AC
D2
AC
AC
g3
G3
AD
4c
6D
8c
26
cg
02
62
AD
99
c3
62
92
4c
26
GE
B9
EE
62
66
FG
26
58
FD
c8
Bl
62
G2
AQ
26
07
A2
cl
Cr)
oo
GA
FO
gc
GE
4c
A2
85
AS
85
16
26
AG
E4
FO
FG
FO
FG
93
26
03
G3
AC
3B
63
GE
B9
49
GA
AS
G1
FF
62
2B
co
FF
D2
OF
16
07
AD
62
FB
oo
Bl
GA
4c
2c
49
99
34
Bl
8D
@D
26
26
AS
BA
CF
a4
26
A3
06
@D
85
18
A5
FG
cg
4C
8D
FO
BO
FO
FO
FO
D2
3B
c2
EE
ol
FF
34
26
16
c3
FB
8D
8D
FO
26
OF
AD
EE
8F
c3
4c
6D
EG
AD
85
BD
FO
E8
Ut)
35
63
8c
8D
62
61
69
64
FB
G2
62
26
co
4G
cg
1669:61
1811:96
1919:C3
8D
8D
G2
G2
62
Dl
69
8D
OF
1621:A9
1629:26
1931:67
1639:A2
1641:FB
1949:64
1651:F6
1959:CD
1661:26
1669:AG
1971:68
1679:CB
1681:BB
1089:FF
1991:0A
1699:87
16A1:62
10A9:FB
19B1:89
16B9:2C
106C1:35
19C9:18
16D1:67
16D9:AD
16E1:85
10E9:38
16F 1:36
16F9:41
1101:53
1121349
1129:4E
1131:59
1139:4F
1141:26
1149:4B
1151:54
1159:47
1161:49
1169:49
1171:26
1179:52
1181:4B
1189:56
1191:4F
1199:53
11A1:49
11A9:67
11D1:13
11D9:12
11E1:C@
11E9:C@
11F1:CO
11F9:CO
1261:1D
1269:26
1211:26
1219:26
1221:20
1229:DD
1231:D5
1239:B2
1241:26
1249:26
NOVEMBER 1991
61
97
GA
62
20
16
G3
BF
cc
@3
AC
FF
62
cg
26
16
8D
AD
26
9D
63
AD
EE
cl
FC
3A
3A
4D
4B
2A
49
4D
44
41
2A
26
3A
45
43
45
4E
4E
2A
47
26
45
55
4B
56
09
69
DS
FB
26
4c
DS
co
co
ce
ce
1c
29
29
26
20
@D
ce
co
AE
B2
8D
9D
26
26
D2
AD
4c
62
FF
26
FC
ag
8D
96
G4
co
BD
CA
2B
35
E8
BD
BD
G2
66
2A
2A
45
26
55
44
41
41
4D
51
46
56
59
48
20
47
47
58
45
49
2A
52
26
45
o7
68
85
co
DE
D2
co
co
co
ce
ce
12
20
26
26
26
1D
cg
DS
26
ce
93
GE
@D
FF
26
62
16
E2
34
FF
26
8D
62
F9
26
FO
AD
85
AE
E8
34
cD
4c
FB
36
30
45
3E
41
49
3E
2A
45
2a
49
4c
45
53
43
4c
2a
2A
54
20
26
55
45
4E
Go
65
19
Ag
FO
4c
93
co
co
ce
co
co
20
26
26
26
26
12
DS
20
26
26
COMPUTE
16
26
@D
Bl
20
62
G2
OF
35
A2
26
8D
E4
o7
26
EG
85
FE
Ag
9D
21
EO
66
@2
56
53
4E
49
26
45
4F
4c
45
50
4E
2A
26
41
4E
44
56
47
41
53
49
53
49
52
gc
G8
or)
FC
D2
ag
1c
co
co
co
ce
@D
20
26
26
26
20
9E
28
co
AE
co
43
B9
1A
FF
72
97
E8
AG
c7
c7
9c
18
Ad
C3
42
2c
1c
gc
AA
68
52
DF
AA
F7
GA
2D
F8
25
72
E3
96
9E
23
GE
48
Bo
6F
BD
26
7D
1E
69
9A
7c
5F
62
AB
9E
99
2F
G6
36
B3
AS
22
E9
4
gc
14
7A
BC
2D
35
3D
45
cB
11
26
68
DS
G-37
PROGRAMS
1251:C9 26 1C 26-DD @D 1D ic 61
1259:12 DD 26 9E DD 286 26 26 BB
1261:DD 20 DD 28 DD CA CB DD C9
1269:26 AB C@ CB 28 DD 26 DD F3
1271:28 28 DD 26 26 AB CO 26 BC
1279:28 26 CA CO C9 28 1C 26 42
1281:DD @D 1D 1C 12 DD 26 9E 24
1289:CA C@ CB 28 CA C@ CB 26 CF
1291:BD 20 26 AD 26 Bl 26 26 A3
1299:26 CA C@ CB 26 28 Bl 20 5A
12A1:28 Bl C® BD 26 20 CA C@ GE
12A9:CB 26 1C 26 DD 9D 1D 1C BA
12B1:12 DD 26 26 26 20 26 26 3E
12B9:26 20 26 26 26 20 26 26 DD
12C1:28 20 26 28 20 20 26 26 E5
12C9:26 20 26 26 26 26 26 26 ED
12D1:26 26 28 26 26 20 DD @D SE
12D9:1D 1c 12 CA C® C@ C8 CB CD
12E1:C@ C@ CB CB CB CB CB CH GE
12E9:C@® C@ CB CB CB CB CB CH GE
12F1:C@ C® CB CB CB CB CH CH 16
12F9:C® C@ CB CB CB CG CG CH 1E
1361:CB @D 11 9A 1D 1D 1D 1D D@
1369:28 B2 AE 26 B2 26 26 B2 CC
1311:26 20 B2 AE 26 20 26 B2 @5
1319:AE 26 B@ AE 26 B2 AE 26 E8
1321:B2 26 B2 AE 20 B2 AE OD 26
1329:1D 1D 1D 1D 20 AB 26 206 AA
1331:DD A@ 26 DD 26 20 AB 28 49
1339:26 26 26 DD 26 26 DD DD 74
1341:28 AB BD 26 DD 26 AB 26 G3
1349:20 AB B3 @D 1D 1D 1D 1D 66
1351:26 Bl 26 26 Bl 26 26 Bl F9
1359:BD 26 Bl BD 26 20 29 Bl EB
1361:BD 26 AD BD 28 Bl 26 206 28
1369:Bl 26 Bl BD 20 Bl AD GOD B2
1371:11 96 1D 1D 1D 1D 1D 1D EF
1379:1D 1D 1D 1D 1D 1D 1D 43 C5
1381:4F 58 59 52 49 47 48 54 FF
1389:26 31 39 39 31 OD 11 96 3D
1391:1D 1D 1D 1D 1D 1D 43 4F 36
1399:4D 5G 55 54 45 26 58 55 6B
13A1:42 4C 49 43 41 54 49 4F 96
13A9:4E 53 26 49 4E 54 4C 26 EG
13B1:4C 54 44 11 6D 1D 1D 1D E@
13B9:1D 1D 1D 1D 1D 1D 1D 41 64
13C1:4C 4C 20 52 49 47 48 54 96
13C9:53 26 52 45 53 45 52 56 EA
13D1:45 44 11 @D 1c 3E 11 1F B9
13D9:6D 1D 1C 46 31 2D 1F 26 52
13E1:56 41 4C 49 44 41 54 45 B6
13E9:26 26 1C 46 32 2D 26 1F B5
13F1:53 43 52 41 54 43 48 26 51
13F9:28 1C 46 33 2D 26 1F 52 AD
1461:45 4E 41 4D 45 6D 1p 1D 12
1469:1D 1D 1c 46 34 2D 26 1F A4
1411:46 4F 52 4D 41 54 26 26 GB
1419:28 1C 46 35 2D 26 1F 4C E8
1421:4F 41 44 26 44 49 52 45 FC
1429:43 54 4F 52 59 6D 1D 1D 6D
1431:1D 1D 1D 1C 46 36 2D 26 1A
1439:1F 51 55 49 54 28 26 1c 64
1441:46 37 2D 26 1F 43 4F 56 F6
1449:59 26 26 1C 46 38 2D 26 79
1451:1F 41 42 4F 52 54 GD @6 94
Daniel Lightner is a frequent contribu-
tor. He lives in Sidney, Montana. a
G-38 COMPUTE NOVEMBER 1991
PUZZLE MANIA
By Maurice Yanney
As different pieces fall from the sky in
Puzzle Mania, it’s your job to see that
they land on identically shaped pieces
on rows at the bottom of the screen.
You control the position of the lower
shapes, but lining them up with the fall-
ing pieces can be tricky.
Completing a puzzle and continuing
to the next level require matching all the
pieces on each of the three rows at the
bottom of the puzzle. Puzzle Mania is
a one-player game which requires fast
reactions and quick thinking.
Getting Started
Although Puzzle Mania is written in ma-
chine language, it loads and runs like
a BASIC program. To type it in, use
MLX, our machine language entry pro-
gram. When MLX prompts you, re-
spond with the values given below.
Starting address: 0801
Ending address: 12E0
Be sure to save a copy of the program
before exiting MLX. Movement is con-
trolled by using a joystick (in either
port) or the keyboard.
Playing the Game
As pieces fall, you try to see to it that
they land on matching pieces before
time expires. Complete one level, and
then proceed to the next. Each level
contains a more difficult puzzle.
The first level consists of the falling
pieces and three bottom rows. An ad-
ditional row is added on subsequent lev-
els. Each row consists of five shapes to
be matched. When a piece is
matched by a falling piece, it disap-
pears from the row. When all the piec-
es have been matched, you move to
the next level.
You position the shapes on the bot-
tom rows with a joystick (in either port)
or by using the |, J, K, and M keys to
move up, left, right, and down, respec-
tively. When you move up, the top row
of the puzzle becomes the bottom row,
and all the other rows move up one
row. Moving down does the opposite;
the bottom row becomes the top row,
and all the other rows move down one
row. Moving left and right affects only
the top row by moving the shapes left
or right. If you move a shape off one
side of the screen, it will wrap to the oth-
er side. Moving 39 positions to the left
is the same as moving one position to
the right, except that it takes longer.
Pieces fall three at a time, and there
are eight different pieces in all. Each
piece has a unique match. If a falling
piece is not met by its match, then a dif-
ferent shape takes its place. If the fall-
ing piece matches, that piece disap-
pears, and you receive 100 points.
Then a new piece starts to fall.
The time given to complete the first
level is 500 ticks. An onscreen clock
shows ticks remaining. An additional
100 ticks are given to complete subse-
quent levels until level 6, and then no
additional time is awarded. When all
the pieces are matched and a level is
completed, bonus points are awarded
based on the amount of time remain-
ing. Ten bonus points are given for
each remaining tick.
To pause the game, hold down the
Shift key (or press the Shift Lock key).
When the Shift key (or Shift Lock key)
is released, the game continues.
Tips on Playing
The puzzle pieces fall slowly in the
first few levels, so utilize this time to
your advantage. Instead of just lining
up one piece and waiting for it to fall in-
to place, plan a move or two ahead.
One way of doing this is to line up the
second falling piece with its match on
the second or third bottom row. Once
the first piece is matched, move up or
down until the row with the prealigned
piece is on top. You can then get piec-
es that are going to reach the top row
at nearly the same time. On higher lev-
els you'll need to do this often.
Another tip useful on higher levels in-
volves putting a priority on which
piece you're trying to match. There are
eight different pieces. Although the piec-
es fall in a somewhat random order, all
eight pieces will fall before a new se-
quence starts. If one piece appears
many times on the puzzle board and
another only a few times, you should
try to match the ones appearing more
frequently. You may have only a cou-
ple of pieces remaining, don't waste
time waiting for the the same one or
two pieces to reappear.
PUZZLE MANIA
9861:0B OB GA 09
9809:36 32 69 BO
9811:26 DO AD OF
$819:95 18 26 D9
@821:26 AI 12 26
@829:11 20 8B 12
9831:8D 92 C9 61
@839:0C AD E6 12
@841:E6 12 FO OB
9849:C9 FD FG GE
0851:16 16 29 EA
@859:E6 12 A5 C5
@861:C9 22 FO 37
@869:C9 24 FO 3B
9871:77 F® 22 C9
9879:7E FO 26 C9
@881:01 DC C9 F7
9889:FG 11 C9 FE
@891:FG6 15 4C AE
G899:4C AE 68 20
@8A1:08 26 63 6D
@D 4C AE
F5 12 DO
DB 12 C9
26 2F OB
@8C9:AB 89 28 22
G@8D1:FF 99 DO G6
A2 13 AG
A9 51 AG
15 28 7D
12 A2 66
G1 C9 FF
DF 12 A8
04 9D B4
1c 66 AD
9D 68 DB
9921:68 D9 9D 1c
9929:DG G2 AB BB
4c 65 89
C9 7F DG
FF DO 6B
G3 DO EA
54 4F 26
26 20 4A
43 4B 20
4A 2C 4B
4B 45 59
56 45 20
49 43 4B
9989:58 52 45 53
G991:41 43 45 26
41 52 54
gC G5 26
26 26 2F
18 20 BA
99B9:69 28 1E AB
G9C1:0C E8 DO FA
99C9:12 A2 05 AG
G9D1:E5 A9 G1 AG
@9D9:AD 9B DC C9
G9E1:21 68 AD 61
G9E9:G3 4C 21 68
G9F1:D0 E6 26 E2
@9F9:4D 45 20 4F
GAG1:96 4E 20 54
GAG9:49 54 BB AC
GA11:12 85 FB B9
GA19:A8 GG Bl FB
9E
oo
8D
11
93
26
FO
18
cg
4c
OB
cg
cg
AD
7B
7D
FG
FO
08
CA
4c
68
63
FE
4c
12
c8
G2
99
12
AD
DO
B9
a4
DF
9D
DA
E8
A2
12
26
4c
4D
4F
4P
20
53
4A
20
53
54
Ur)
@D
@B
E5
A2
A2
OF
OA
if.
Dc
A5
FC
56
4P
F7
ED
cg
20
AQ
21
26
@D
72
F9
69
FA
36
Ag
25
21
Ct)
FO
FO
OF
13
26
@D
AE
20
20
FO
38
AG
co
18
26
Ag
DF
82
9E
9D
12
B4
c8
EG
Ul)
AD
Fi?
ES
4F
59
52
26
Go
4F
4F
20
4F
16
@l
A2
AQ
c8
03
18
20
FG
co
cs
96
45
20
12
12
20
@A21:C9
GA29:AC
GA31:61
GA39:A8
GA41:59
GA49:3EG
@A51:EC
GA59:8F
GA61:DG
GA69:07
GA71:C@O
GA79:4C
GA81:F2
GA89:D0
GA91:GA
GA99:FS
GAA1:A9
GAAI: 02
GAB1:85
GAB9:88
GAC1:CO
GAC9:16
GAD1:F7
GAD9:F6
GAE1:0C
75
69
FB
Da
67
co
4c
F8
Do
OA
22
EG
E7
oF
8D
Ur)
AG
12
88
FB
@3
8D
8D
26
AQ
9B39:DG
@B41:BD
E8
DE
GB69:93
OB71:8F
GB79:99
AS
12
69
0B91:68
0B99:GF
29
29
GBE9: 60
OBF1:61
EQ
AQ
GC21:FG
@C29:4C
OC31:A9
0C39:68
OC41:E2
GC49:A9
12
12
GA
AD
G2
12
GC51:A9
@C59:AD
GC61:12
@C69:AG
6C71:AG
GC79:1A
@C81:DC
6C89:GF
6C91:6C
@C99:12
G@CA1:69
GCA9:69
GCB1:16
G@CB9:AE
@CC1:29
GCC9:FO
G@CD1:26
@CD9:E8
GCE1:16
@CE9: 290
GCF1:4F
@CF9:A9
ODG1:F7
GDG9:A9
@D11:A9
@D19:91
@D21:A9
@D29:28
@D31:FE
@D39:DB
@D41:FB
@D49:Bl
9D51:C8
6D59:12
@D61:6D
GD69:AG
@D71:8D
@D79:12
OD81:A9
@D89:FB
OD91:FB
G@D99:E9
GDAL:E9
GDA9:BC
@DB1:6F
@DB9: 38
@DC1:62
GDC9: 60
@DD1:FB
G@DD9:88
@DE1:E2
GDE9:85
@DF1:9B
ODF9:6D
GEG1:8D
GE99:6D
GE11:AG
@E19:AD
GE21:AG
@E29:FB
GE31:38
GE39:12
@E41:8D
GE49:3E3
GE51:97
GE59:88
@E61:DF
GE69:EG
@E71:A9
GE79:8A
NOVEMBER 1991
FS
18
G2
26
1E
GA
cD
GA
AB
12
E7
E8
GA
20
AD
16
A2
26
4E
56
53
Ol
68
FE
FC
AS
FB
AS
12
48
85
DF
ED
26
48
Bl
c8
12
FB
6D
91
FB
E2
12
26
E9
91
@D
cg
26
FB
)
EB
38
c8
DG
DF
91
Bl
FB
12
De
26
76
12
DF
EG
55
FB
12
12 AE E2
69 65 8D
D@ F2 A2
GA ES AD
AB A2 G6
E5 AQ 6G
BD A2 @8
ES AQ FG
A9 96 8D
18 AD E7
12 AD E8
12 A2 08
E5 AD E8
CD BD A9
DB 12 C9
16 4C 9D
7D 26 F7
8B 12 26
44 26 4F
45 4C a6
3A 66 AD
D@ FC CB
A9 76 85
A9 FB 85
AG OO AS
FE 91 FB
38 AS FD
FE E9 96
E8 EG 6D
GE AQ FB
FC AG GG
12 8D El
E@ 12 @D
9B 12 4C
GE 20 EG
FB ED DF
Bl FB ED
DG GE AG
c8 AQ 67
AG 66 38
FB C8 Bl
38 AD E2
L2,CSEEE,
8D E2 12
3B 6D AG
G1 C9 FF
FB 26 91
AG 62 18
28 D® G2
91 GE 68
85 FB AQ
FO G7 88
@D 68 28
Bl FB E9
Bl FB E9
13 26 48
12 91 FB
FB 4C 31
FB 69 28
69 68 91
E9 @1 8D
B9 AD E3
6F GE 66
8D DF 12
CB 6G FO
12 E9 28
12 E9 6G
GE 60 A2
AQ 12 85
26 91 GE
COMPUTE
PROGRAMS
EE SE SB EEA PEREIRA ONT TE UNTER TEAON PIER OIE TET TS]
@E81:DF 12 AA EC E3 12 FO
GE89:28 9B 12 E8 4C 79 GE
GE91:A2 G8 AG BG Bl FB 85
GE99:C8 Bl FB 85 FE C8 18
GEA1:FB 69 63 A8 AS FE FO
GEA9:Bl FB 8D E@ 12 98 8D
GEB1:12 8A A8 AD EG 12 91
GEB9:AD El 12 A8 C8 E8 CO
@EC1:D8 62 AG 63 EG 28 DG
GEC9:66 AD E4 12 C9 67 DB
GED1:A9 @@ 8D E4 12 26 97
GED9:A5 8F 29 67 8D E5 12
@EE1:AD E4 12 69 61 8D E4
GEE9:18 AD E5 12 69 61 29
GEF1:8D E5 12 66 206 E@ OD
GEF9:63 AY 66 8D El 12 AD
GFG1:91 FB C8 C@ 2B DG F9
GF69:63 C8 C8 C8 C8 C8 C8
GF11:98 8D DF 12 28 CA GE
@F19:69 E7 AC DF 12 91 FB
@F21:El1 12 18 69 @1 8D El
GF29:C9 G5 DB DD 26 97 EG
@F31:67 AG 62 91 FB 66 26
@F39:GE 38 AD E2 12 E9 81
GF41:E2 12 C9 FF DG FO AD
6F49:12 8D E2 12 60 A2 18
GF51:06 AD DA 12 8D DF 12
@F59:DB 12 8D EG 12 26 B2
GF61:26 38 16 18 29 GA ES
@F69:DB 12 AE DA 12 28 CD
@F71:66 A2 18 A@ 21 AD DC
@F79:8D DF 12 A9 86 8D EB
@F81:26 B2 GF 18 26 GA ES
@F89:68 AE DC 12 2@ CD BD
GOF91:A2 18 AG 14 AD DD 12
@F99:DF 12 AD DE 12 8D EG
GFA1:26 B2 GF 18 26 GA E5
@FA9:DE 12 AE DD 12 28 CD
GFB1:60 38 A9 OF ED DF 12
GFB9:E1 12 A9 27 ED EG 12
@FC1:E1l 12 98 3D C8 38 A9
@FC9:ED DF 12 8D El 12 A9
@FD1:ED E@ 12 OD El 12 96
GFD9:C8 38 AY 63 ED DF 12
OFE1:E1 12 A9 68 ED EG 12
@FE9:E1 12 98 15 C8 38 AY
@FF1:ED DF 12 8D El 12 A9
GFF9:ED E@ 12 OD El 12 98
1691:C8 68 18 6D DD 12 8D
1669:12 AD DE 12 69 66 8D
1911:12 20 91 GF 66 26 4E
1619:38 AD DA 12 E9 61 8D
1621:12 AD DB 12 E9 68 8D
1629:12 6@ 18 AD DC 12 69
1631:8D DC 12 28 72 GF 60
1639:A9 E7 ED DA 12 8D El
1641:A9 63 ED DB 12 @D El
1649:D8 65 AI 39 8D C7 G7
1651:A9 63 ED DA 12 8D El
1959:A9 @@ ED DB 12 @D El
1961:D8 G5 A9 38 8D C8 87
1969:A9 69 ED DA 12 8D El
1971:A9 6G ED DB 12 @D El
1679:D8 G5 AY 38 8D C9 87
1981:AG GG AD 26 99 BB G4
1989:98 G5 99 GB G6 99 98
1691:C8 DG Fl 68 AY 38 85
19699:85 38 AD GE DC 29 FE
16A1:G@E DC A5 G1 29 FB 85
1GA9:A9 GG AG GG BO GB DG
G-40 COMPUTE NOVEMBER 1991
o7
66
FD
Bl
26
El
FD
2B
EG
OF
EO
18
12
67
AG
RE
AG
c8
18
AD
12
29
FS
8D
E3
Ag
AD
OF
AD
BD
12
12
Ag
66
8D
12
AD
BD
8D
@D
E7
63
29
8D
@D
69
Cr)
G1
DD
DE
OF
DA
DB
G1
38
12
12
38
12
12
38
12
12
60
99
06
34
8D
Gl
99
190C9:90
19D1:B9
16D9:D7
16E1:61
16E9:99
16F1:D8
16F9:AG
1141:Cc8
1199:99
1111:12
1119:96
1121:AG
1129:37
1131:26
1139:C8
1141:C8
1149:DB
1151:c8
1159:99
1161:99
1169:26
1171:968
1179:69
1181:66
1189:96
1191:66
1199:66
11A1:6¢6
11A9:66
11B1:98
11B9:66
11C1:FF
11€9:99
11D1:3c
11D9:AG
11E1:6A
11E9:F1
L1F1:E5
11F9:66
1261:36
1269:43
1211:36
1219:56
1221:66
1229:99
1231:DA
1239:88
1241:6D
1249:62
1251:62
1259:12
1261:78
1269:Cl
1271:38
1279:38
1281:6A
1289:AB
1291:26
1299:6B
12A1:FB
12A9:A9
12B1:A9
12B9:E2
12C1:E6
12C9:F8
12D1:A9
12D9:69
34
oo
99
99
61
29
oo
co
re)
CA
26
oo
c8
71
99
99
AG
Dg
78
78
68
Te
1c
7F
7F
66
7F
7E
7P
TE
7F
FF
66
18
Cr)
99
A2
XS)
96
36
4P
36
45
Ag
Go
c8
8D
6B
8D
8D
26
37
iat
AQ
37
ES
6a
37
6a
AS
oo
OF
12
12
12
g8
ao
35
a6
A5
pc
18
De
31
A2
5E
i)
E9
38
12
37
37
Dg
37
cs
c8
12
66
7F
TE
7F
7F
G6
uy
7E,
G3
7E
63
99
TE
18
Ag
Dd
OA
AB
3A
53
36
45
26
D8
98
Ag
26
Ag
Ag
F7
99
BD
66
99
26
1E
12
62
85
68
12
8D
8D
8D
12
12
oo
ONLY
ON
DISK
In addition to the type-in programs
found in each issue of the magazine, Ga-
Zette Disk offers bonus programs and
original 64 and 128 artwork. Here are
this month’s bonuses.
Connect the Letters
Richard J. Sands
Atlanta, GA
This version of a popular paper-and-
pencil game is played on a grid of five
rows by five columns with 25 letters. The
object is to draw horizontal and vertical
lines that connect the letters. You and
the computer take turns drawing one
line at a time. You win a square when
you draw the line that completes it. The
player with the most squares wins.
Sport Card Collector
Kevin Scott Davis
Winter Park, FL
To help you use Sport Card Collector,
we have included a partial listing of the
author's basketball card collection.
You may order this disk ($9.95
plus $2.00 shipping and handling) from
Gazette Disk, COMPUTE Publications,
324 West Wendover Avenue, Suite 200,
Greensboro, North Carolina 27408.
=
TYPING AIDS
MLX, our machine language entry program for
the 64 and 128, and The Automatic Proofread-
erare utilities that help you type in Gazette pro-
grams without making mistakes. To make
oom for more programs, we no longer include
these labor-saving utilities in every issue, but
they can be found on each Gazette Disk and
are printed in all issues of Gazette through
June 1990.
If you don't have access to a back issue or
to one of our disks, write to us, and we'll send
you free copies of both of these handy pro-
grams. We'll also include instructions on how
to type in Gazette programs. Please enclose a
self-addressed, stamped envelope.
Write to Typing Aids, COMPUTE's Ga-
zette, 324 West Wendover Avenue, Suite 200,
Greensboro, North Carolina 27408.